我要寫一程式,輸出輸入關係如下
按A輸出1
按B輸出2
. .
. .
按I輸出9
按J輸出0
按其他鍵則離開返回DOS
按什麼輸出什麼我會寫
可是"按其他鍵則離開返回DOS"我想很久
還是不會
幫幫我吧
2007-03-15 18:37:44 · 3 個解答 · 發問者 ? 3 in 電腦與網際網路 ➔ 程式設計
我寫的是
.MODEL SMALL
.CODE
BEGIN:
MOV AH, 01H
INT 21H
MOV DL, AL
SUB DL, 16
MOV AH, 02H
INT 21H
MOV AH, 4CH
INT 21H
.STACK
END BEGIN
2007-03-21 19:09:35 · update #1
執行後按B輸出2就直接跳回dos
我就是要多個"按其他鍵則離開返回DOS"
可我一直試不出
是要在我寫的加上或修改哪些呢?
題目是課本習題
so我是從課本例子修改寫的
so不太會
2007-03-21 19:13:01 · update #2
程式碼如下
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
ORG 100H
MAIN proc near
mainloop:
; 讀取字元
MOV AH,01
INT 21h
cmp al,'A'
jb quit
cmp al,'J'
ja quit
sub al,16
cmp al,58
jne printAL
mov al,'0'
printAL:
mov dl,al
MOV AH,02
INT 21h
; 跳行
mov dl,13
MOV AH,02
INT 21h
mov dl,10
MOV AH,02
INT 21h
jmp mainloop
quit:
MOV AX, 4C00H
INT 21H
MAIN endp
CODE ENDS
END MAIN
希望以上程式碼對你有所幫助
2007-03-24 00:47:01 補充:
補充到評論
http://tw.knowledge.yahoo.com/question/article?qid=1707032400584
2007-03-16 10:43:12 · answer #1 · answered by ㄚ旺 5 · 0⤊ 0⤋
在if , else if 後加上else裡面執行jump到程式最尾端,這樣就OK了。
2007-03-16 08:02:42 · answer #2 · answered by Fanta 2 · 0⤊ 0⤋
一億年沒寫組語了。
:START
Call get(AX)
CMP AX 'A'
B< OUT
CMP AX 'J'
B> OUT
SUB AX 'A'-'0'
Call prt(AX)
Goto START
:OUT
Mov AX 00 // DOS __碼,要查一下是啥!印象中是 21
int 21 // DOS __碼,要查一下是啥!印象中是 21
// 可能是要把 AH / AL 某個設成某值,再叫插斷。
// 要是是 .COM,可以用 mov ax 21, int 0 還是 1之類的
// 你等熟的高手吧
// 我要準備期末考了
2007-03-16 02:10:06 · answer #3 · answered by ? 7 · 0⤊ 0⤋