首页 > 代码库 > 微机接口中的汇编语言
微机接口中的汇编语言
之前汇编学的不是很好。乘这次微机接口把汇编语言算是补上来了。
下面是这段时间的相对于微机接口中使用的汇编语言的笔记。
PTR
在没有寄存器名存在的情况下,用操作符“X ptr”指明内存单元的长度,X在汇编指令中可以为word 或者byte。
例如:
mov word ptr ds:[0],1
inc word ptr [bx]
move byte ptr ds:[0],1
inc byte ptr [bx]
在没有寄存器参与的内存单元访问指令中,必须要显性地告诉CPU所要访问的单元是字单元,还是字节单元。
XLAT
XLAT为查表命令,其操作为[BX]+[AL]---->AL
MOV
赋值语句:MOV dx,key ; key 为变量
OUT
一般用于写端口
MOV DX,PA ; PA为端口
OUT DX,AL ; AL为特定的命令如 8255 初始化
IN
一般用于写CPU
IN AL,DX; 端口对应的值不能直接写在AL中,需要先MOV进DX然后在IN进AL
OFFSET
获取偏移地址
MOV DX,OFFSET TAB ;TAB为数组,获取TAB的偏移地址,这里就是首地址
SEG
获取段地址
MOV DX,SEG INSTR ; 这里INSTR为中断程序,获取中断程序的段地址
lea
将一个近地址指针写入到指定的寄存器。格式:
LEA reg16,mem16
其中reg16必须是一个16位通用寄存器,mem16必须是一个存储器,执行这个指令后,就将mem16所指的16位偏移地址传送reg16中。
比如: LEA AX,BUF
就是将存储器中BUF所指的地址传送给AX.
区别MOV传送指令:
MOV传送的是地址所指的内容,而LEA只是地址。
关于几个常用DOS调用:
DOS调用先MOV进AH,即先存入要执行的命令,然后INT 21H 即执行命令
mov ah,4ch 退出程序
eg; mov ah,4ch
int 21h
mov ah,25h
写中断
mov ah,35h
读中断
mov ah,02h
写dl ; 常用于crt
微机接口中的汇编语言
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。