监测点11.4
本帖最后由 奥普瓯江 于 2019-2-23 09:36 编辑assume cs:code
code segment
start:
mov ax, 0 ;把0放入ax中
push ax ;把ax压入站中
popf ;把站中的数据取出放入标志寄存器中,在8086中标志寄存器我只找到8位分别在第0位CF、第2位PF、第4位AF、第6位ZF、第7位SF、第9位IF、第10位DF、第11位OF,现在寄存器中全部标注为0
mov ax, 0fff0h ;把0fff0传给ax
add ax, 0010h ;ax于0010相加这里0fff0h为-16的补码0010为16所以他们相加后等于0
pushf ;将标志寄存器中的数据压入站中标志寄存器的数据分别是00000000 01000101
pop ax ;将站中的数据取出放入ax中 ax=00000000 01000101
and al, 11000101B ;and 01000101,11000101B = 01000101B 低位
and ah, 00001000B ;and 00000000,00001000B = 00000000B 高位
mov ax, 4C00h
int 21h
code ends
end start
最后ax=00000000B 01000101B
16进制的是0045H 汇编里面存放的都是补码形式吗 Snxsky 发表于 2021-4-22 14:08
汇编里面存放的都是补码形式吗
汇编里面数值一般都是以补码形式存放(数值哦) Snxsky 发表于 2021-4-22 14:08
汇编里面存放的都是补码形式吗
使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理
页:
[1]