0
点赞
收藏
分享

微信扫一扫

汇编指令(二)

伪指令

db指令:伪指令,​用于定义操作数所占用的字节数。b 就是byte,也就是说每一个操作数占用一个字节,在程序编译到时候,会将 db 后面定义的数据将被视作纯数据而不是指令代码。

ledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh  ;定义 ledcode 数组

dw指令:伪指令,其基本含义与上面的 db 指令是相同的,不同在于 dw 是用来定义16位数据,也就是说每个数据是需要用两个单元存放。高8位数据字节存入高地址字节中,而低8位数据字节则存入低地址字节中。

buf dw ?

dd指令:伪指令,与上面的指令是基本功能是相同的,该指令是用来定义4个字节数据的。

指令

cmp指令:用于比较整数,​相当于减法指令,只是不保存结果,但是会修改标志寄存器的某一位,也就是说会按照计算结果修改溢出、符号、零、进位、辅助进位和奇偶标志位。程序在条件跳转指令中使用 CMP 指令的时候,汇编语言的执行结果就和其他语言的 if 语句一样。

mov ax,200h
mov bx,201h
cmp ax,bx

上述执行过程会使得 (ax)=200,(bx)=201h,

各标志位初始状态:ZF=0,PF=1,SF=0,CF=0,OF=0,(ZF:零标志,PF:奇偶标志,SF:符号标志,CF:进位标志,OF:溢出标志)

ax、bx情况

标志位

ax == bx

ZF = 1

ax != bx

ZF = 0

ax < bx

SF = 1

ax >= bx

SF = 0

ax > bx

SF = 0 并且 ZF = 0

ax <= bx

SF = 1 并且 ZF = 1

inc指令:算术运算类指令,起到加1的功能,并将结果返回给操作数

mov bx 200h
inc bx ;inc 算术运算类指令,起到加1的功能

sal、sar、shl、shr指令


指令

解释

算数指令

sal指令

算数左移指令,

在执行的时候会将操作数看成带符号数进行移位的

sar指令

算数右移指令,

在执行的时候会将操作数看成带符号数进行移位的

逻辑指令

shl指令

算数左移指令,

在执行的时候会将操作数看成带符号数进行移位的

shr指令

算数右移指令,

在执行的时候会将操作数看成带符号数进行移位的


举报

相关推荐

0 条评论