汇编语言及应用——程序设计
1、 建立匯編語言源程序.ASM
建立好的源文件以 EX_1.ASM 為文件名存盤
運行程序,顯示如下:
調試程序,用e命令更改第二個字符串內容,再用G命令運行程序,結果輸出:MATCH!
如下圖所示:
2、完成課堂例題,并用 DEBUG 運行,觀察結果。
提示:運行以上程序,進入調試窗口, 用 U 命令顯示程序,找到程序結束處的地址,用 G
命令執行程序,用 D 命令檢查數據段中的運行結果。
X db 6 //X初始值為6
Y db ? //Y初始值為?
mov al,x //將X的值,即6傳遞給AL
mov y,5 //將5傳遞給y
add y,al //將y與al的值兩者相加后,即B傳給y
mov ah,4ch //將4C傳給AX的高八位,所以最后AX的值由4C和06組成,即4C06
2、學習數據傳送指令和算術運算指令的用法;掌握數據定義偽指令的格式,會用DEBUG中的D命令觀察DB、DW、DD存儲數據的格式;熟悉匯編語言的基本框架,掌握編寫匯編語言程序的基本方法。
示 例
源程序如下:
閱讀程序,試問程序執行到exit時,字單元A、B、C、C+1、C+2中的內容各是什么?
字節單元:46 5A 28 3C 50
字單元:5A46 285A 3C28 503C 0050
1、 通過debug命令將上面的程序寫入內存,追條執行,根據指令執行后的實際運行情況填空。
MOV AX,0FFFFHMOV DS,AXMOV AX,2200MOV SS,AXMOV SP,0100MOV AX,[0] ; AX=C0EAADD AX,[2] ;AX=C0FCMOV BX,[4] ;BX=30F0ADD BX,[6] ;BX=6021PUSH AX ;SP=00FE ; 修改的內存單元的地址是2200:00FE,內容為C0FCPUSH BX ;SP=00FC ; 修改的內存單元的地址是2200:00FC,內容為6021POP AX ;SP=00FE ; AX=6021POP BX ;SP=0100 ; BX=C0FCPUSH [4] ;SP=00FE ; 修改的內存單元的地址是2200:00FE,內容為30F0PUSH [6] ;SP=00FC ; 修改的內存單元的地址是2200:00FC,內容為2F312、 x、y、z 均為雙精度數,分別存放在地址為X, X+2; Y, Y+2;Z, Z+2的存儲單元中,編程實現 x + y + 24 - z → w ,并用W, W+2單元存放w.
假設x,y,z為0101,0202,0303
程序如下:
調試截圖:
所以W=ax=4C18,W+2=dx=0000
3、 將下面程序補充完整,保存成.asm文件,將其生產可執行文件,運行后觀測AX寄存器種的內容是什么。
data segmentTABLE dw 10,20,30,40,50ENTRY dw 3 data ends code segmentassume cs:code,ds:data start:mov ax,datamov ds,axmov BX,OFFSET TABLEadd BX,ENTRY exit: mov ah,4chint 21h code endsend start
運行后觀測AX寄存器中的內容是:4C70
總結
以上是生活随笔為你收集整理的汇编语言及应用——程序设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开封机器人餐厅_百合汇主题酒店——开封首
- 下一篇: 树莓派使用STEP2:设置网络