English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我要寫一程式,輸出輸入關係如下
按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

3 個解答

程式碼如下


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

fedest.com, questions and answers