1、编写程序计算|X-Y|的值,其中:X 和 Y 为存放于 X 单元和 Y 单元的 16 位操作数,要求将结果存入 result 单元中。┇ MOV AX,X SUB AX,Y JNS NONNEG NEG AX NONNEG: MOV RESULT,AX ┇
部分程序如上,要求填充完整的程序段:
源代码:
DATA SEGMENT
X DW 1234H
Y DW 5678H
RESULT DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,X
SUB AX,Y
JNS NONNEG
NEG AX
NONNEG:MOV RESULT,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
2、编一汇编语言程序,实现统计 DX 数据中所含 1 的个数。
源代码:
DATA SEGMENT
X DW 8421H;1000010000100001B 4个1
COUNT DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV DX,X
MOV CL,16
MOV CH,0
NEXT1: TEST DX,0001H
JZ NEXT2
INC CH
NEXT2: SHR DX,1
DEC CL
CMP CL,0
JBE NEXT3
JMP NEXT1
NEXT3: MOV COUNT,CH
MOV AH,4CH
INT 21H
CODE ENDS
END START