當前位置:編程學習大全網 - 編程語言 - 匯編問題:雙字有符號數如何比較大小。

匯編問題:雙字有符號數如何比較大小。

比較雙精度數大小,要比較壹次或兩次。

第壹次,先比較高位字,按有符號數規則分大小:大的大,小的小

若高位字相等,再比較低位字,按無符號數規則分大小:高的大,低的小

所以,妳程序代碼段中?代碼可這樣編寫:

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:

  • 上一篇:vb二級考試範圍
  • 下一篇:如何制作魔獸世界視頻
  • copyright 2024編程學習大全網