組合語言---判斷字元
配置環境
-
首先雙擊下載程式進行下載。(沒有安裝程式的,可以下載我為大家準備的安裝檔案。)
不會安裝的可以看一下檔案 -
將debug.exe放入C盤(沒有debug的自行下載)
-
開啟DOXBos
-
將masm檔案放入D盤(沒有masm的自行下載)
-
更改masm檔案為123(任意),在資料夾中建立檔案123.asm(任意)。
-
在DOXBos程式中 輸入mount C D:\123
-
輸入C:
-
開啟123.asm編寫程式
-
第6、7步可以省略,省略辦法見這篇文章,設定之後就不必每次都輸入
要求
從鍵盤輸入一個字元,判斷其是不是一個數字字元。如果是,則請輸出這個數字字元;如果不是,請輸出“這不是一個數字字元”的相應英文資訊。
編輯程式
DATA SEGMENT
STRING DB 0DH,0AH,'This is not a digit!$'
DATA ENDS
STACK SEGMENT
DB 50 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
NEXT: MOV AH,1
INT 21H
CMP AL,'0'
JB OUTPUT ;低於0轉移(說明不是數字)
CMP AL,'9'
JA OUTPUT ;大於9轉移(說明不是數字)
MOV AH,2 ;呼叫2號功能輸出字元
MOV DL,AL
INT 21H
JMP EXIT
OUTPUT: MOV DX,OFFSET STRING
MOV AH,9
INT 21H
EXIT: MOV AX,4CH
INT 21H
CODE ENDS
END START
執行程式
-
masm 123.asm
如果出現錯誤根據提示進行更改
-
link.123
-
執行123.exe
-
執行成功
-
反彙編(為了輸入方便,將123.exe改為1.exe,這點大家不用更改,維持你檔名即可)
debug 1.exe
然後用U命令
-u
得到反彙編結果
- 執行結果,檢視暫存器(T命令或者G命令)
如果用T命令一步一步執行
可以輸入
debug 1.exe
-r
-t
...
(直到得出結果)
如果用G命令全部執行
debug 1.exe
-G 076A:0018 ;(這裡是你想要執行到的程式地址)
後續
如果想了解更多物聯網、智慧家居專案知識,可以關注我的專案實戰專欄。
歡迎關注公眾號。
編寫不易,感謝支援。
相關文章
- 組合語言--單步中斷組合語言
- 組合語言1 - 什麼是組合語言?組合語言
- 組合語言組合語言
- C語言判斷素數,判斷質素演算法C語言演算法
- 《組合語言》第十二章 內中斷組合語言
- 組合語言-棧組合語言
- 組合語言 1組合語言
- 組合語言 2組合語言
- 判斷水仙花數C語言C語言
- 判斷是什麼字元字元
- NSPredicate 不能判斷全形字元字元
- Go 語言的組合之道Go
- 組合語言-基礎功能組合語言
- 8086執行組合語言組合語言
- 組合語言——更多功能組合語言
- C語言的判斷機器的大小端C語言
- C語言必須掌握的判斷題 | 4C語言
- C語言必須掌握的判斷題 | 10C語言
- C語言學習【3】——判斷與迴圈C語言
- 判斷語句
- JS的判斷語句:判斷、迴圈JS
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- C語言判斷檔案存在和建立檔案C語言
- C語言:判斷一個字串是否為迴文C語言字串
- 組合語言-CALL和RET指令組合語言
- 組合語言-基礎知識組合語言
- C 判斷語句
- 012 判斷語句
- mysql如何判斷不包含某個字元MySql字元
- C語言判斷輸入小寫字母的個數C語言
- lec 02 arm組合語言基礎組合語言
- nand2tetris_hack組合語言NaN組合語言
- 組合語言-學習記錄(二)組合語言
- 基於MDK建立純組合語言--組合語言
- 判斷字元是否重複正規表示式字元
- PHP 判斷一個字元是否在字串中PHP字元字串
- python之判斷語句Python
- 判斷語句的使用