汇编基础篇4
- 已知X为16位二进制数(这里X=301H)判断X是奇数还是偶数,若为奇数,令Z=X,若为偶数,令Z=0.
- 软件emu8086
汇编代码如下
DATA SEGMENT
Z DW 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
;方式一 用TEST ZF来判断
START:
MOV AX, DATA
MOV DS, AX
MOV AX, 301H ;这里X=301H
TEST AX, 1
JNZ L ; 最后一位和1与,不为零,即奇数,跳转到L
MOV Z, 0
JMP NEXT
L: MOV Z, 301H
;方式二 用JC CF来判断
NEXT:
MOV AX, 300H ;这里X=300H
SHR AX, 1 ;右移一位到C位
JC L1 ;CF为1 该数为奇数,跳转L1,否则顺序执行
MOV Z, 0
JMP NEXT1
L1: MOV Z, 300H
NEXT1:
MOV AX, 1 ;这里不用理
CODE ENDS
END START