第壹次,先比較高位字,按有符號數規則分大小:大的大,小的小
若高位字相等,再比較低位字,按無符號數規則分大小:高的大,低的小
所以,妳程序代碼段中?代碼可這樣編寫:
MOV AX, DATA ; 段初始化
MOV DS, AX
MOV AX, STACK
MOV SS, AX
MOV DX, WORD PTR BUFA+2 ; 按題意,將數送入DX,AX, BX, CX
MOV AX, WORD PTR BUFA
MOV BX, WORD PTR BUFB+2
MOV CX, WORD PTR BUFB
CMP DX, BX ; 先比高位字
JG MOVE_A ; A大
JL MOVE_B ; B大
CMP AX, CX ; 高位字相等就再比低位字
JAE MOVE_A ; A大
JMP MOVE_B ; B大
MOVE_A:
MOV WORD PTR BUFC+2, DX ; A大
MOV WORD PTR BUFC, AX
JMP EXIT
MOVE_B:
MOV WORD PTR BUFC+2, BX ; B大
MOV WORD PTR BUFC, CX
EXIT:
如果題目是bufa>bufb,則把1送入dx,bufa=bufb,則把0送入dx,bufa<bufb,則把-1送入dx則稍作修改:
MOV AX, DATA ; 段初始化
MOV DS, AX
MOV AX, STACK
MOV SS, AX
MOV DX, WORD PTR BUFA+2 ; 按題意,將數送入DX,AX, BX, CX
MOV AX, WORD PTR BUFA
MOV BX, WORD PTR BUFB+2
MOV CX, WORD PTR BUFB
CMP DX, BX ; 先比高位字
JG MOVE_A ; A大
JL MOVE_B ; B大
CMP AX, CX ; 高位字相等就再比低位字
JA MOVE_A ; A大
JZ MOVE_0 ; 相等
JMP MOVE_B ; B大
MOVE_A:
MOV DX, 1 ; A大
JMP EXIT
MOVE_B:
MOV DX, -1 ; B大
JMP EXIT
MOVE_0:
MOV DX, 0
EXIT: