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