0
我不太瞭解彙編語言,但我試着製作這個迴文並且很難。首先,我必須輸入一個字符串,然後顯示其原始字符和反轉字符串,然後顯示它是否是迴文。如何檢查比較迴文是否?
我已經想出瞭如何顯示反向字符串,並通過從另一個論壇中讀取的循環中彈出並彈出它並找出它 現在唯一的問題是我要比較反向字符串和原始字符串檢查它是否迴文。
call clearscreen
mov dh, 0
mov dl, 0
call cursor
mov ah, 09h
mov dx, offset str1
int 21h
palin db 40 dup(?)
mov ah, 0ah
mov palin, 40
mov dx, offset palin
int 21h
mov dh, 1
mov dl, 0
call cursor
mov ah, 09h
mov dx, offset str2
int 21h
mov si, 2
forward:
mov al, palin + si
cmp al, 13
je palindrome
mov ah, 02h
mov dl, al
push ax 'push the letter to reverse
int 21h
inc si
jmp forward
palindrome:
mov dh, 2
mov dl, 0
call cursor
mov ah, 09h
mov dx, offset str3
int 21h
mov cx, 40 'pop each letter through a loop to show its reverse
reverse:
mov ah, 02h
pop ax
mov dl, al
int 21h
loop reverse
int 20h
clearscreen:
mov ax, 0600h
mov bh, 0Eh
mov cx, 0
mov dx, 8025
int 10h
ret
cursor:
mov ah, 02h
mov bh, 0
int 10h
ret
str1: db "Enter A String : $"
str2: db "Forward : $"
str3: db "Backward : $"
str4: db "Its a Palindrome! $"
str5: db "Not a Palindrome!$"
嗯,這是他們在做什麼在這裏教我們在學校的16bit DOS。從來不知道這種語言有一個新的標準。感覺就像過時了。 生病嘗試比較第一個字節和最後一個字節,然後嘗試修改您給我的示例代碼,謝謝。 – 2013-03-17 04:30:25
請問槍手什麼是SI和DI?舉一個例子說明這個SI和DI的工作原理。我猜這就是我如何比較第一個字節和最後一個字節是否正確? – 2013-03-18 12:43:51