當前位置:成語大全網 - 新華字典 - 用匯編語言編寫:從鍵盤讀入兩個英文單詞,按字典順序排序後輸出。

用匯編語言編寫:從鍵盤讀入兩個英文單詞,按字典順序排序後輸出。

mov ax,1000h ;設置DS段值

mov ds,ax

mov bl,0 ;設置偏移1

mov bh,40h;設置偏移2

xor ax,ax

input:mov al,01h ;調用DOS1號功能輸入

int 21h

cmp al,odh ;回車繼續輸入第二個單詞,否則繼續輸入單詞字符

jz input2

mov [bl],al ;輸入字符寫入內存

inc bl ;偏移加1

jmp input

input2:mov al,01h ;輸入第二個單詞,同第壹個壹樣

int 21h

cmp al,odh

jz PX ;輸入完畢開始比較(PX是比較)

mov [bh],al

int bh

jmp input2

PX:mov cl,bl ;將BL和BH的指針存入CL,CH中

mov ch,bh

mov bl,0 ;將BL,BH指向單詞首字符

mov bh,40h

again:mov al,[bl]

mov ah,[bh]

cmp al,ah ;兩個單詞的第N個字符比較,相同則跳到A位置,繼續比較

jz A

cmp al,ah ;不同則繼續比較,如果第壹個單詞的字符小則跳到show1,否則跳到show2

jb show1

jmp show2

A: inc bl

inc bh

jmp again

show1:mov bl,0 ;show1把第壹個單詞放前面

mov bh,40h

B:mov dl,[bl]

mov al,02h

int 21h

inc bl

cmp bl,cl

jnz B

mov dl,20h

mov al,02h

int 21h

C:mov dl,[bh]

mov al,02h

int 21h

inc bh

cmp bh,ch

jnz C

show2:mov bl,0 ;show2把第二個單詞放前面

mov bh,40h

B1:mov dl,[bh] ;顯示第壹個單詞

mov al,02h

int 21h

inc bh

cmp bh,ch

jnz B1

mov dl,20h ;顯示空格

mov al,02h

int 21h

C1:mov dl,[bl] 顯示第二個單詞

mov al,02h

int 21h

inc bl

cmp bl,cl

jnz C1

mov ax,4c00h ;結束

int 21h

純手打,忘采納