汇编 --- 初体验
生活随笔
收集整理的這篇文章主要介紹了
汇编 --- 初体验
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設內存10000H中的值為23,10001H中的值為11,10002H中的值為22,10003H的值為11
在debug中執行以下代碼
- 分析:8086CPU中由于段地址寄存器,無法直接賦值,因此需要先將值賦給通用寄存器然后再給ds賦值代碼如下
第一行回不去了… 代碼地址是 0482:0139
-r 查看當前的cs:ip
當前執行的匯編代碼是 mov ax,1000
cs = 0482, ip = 0100
我們需要改變ip 來執行上面的代碼
-r ip
0139
此時開始執行我們寫的代碼段
-t 按段執行代碼
下面提供正確的解法
- 上面是第一次用寫的…
- 下面的是正解 - -
- -d查看內存中的數據
可以看到,此時內存1000:0000 到 1000:0003的值都為0
- 下面使用-e 寫入數據
- 再次使用-d查看
- 內存中的值已經寫入完畢,下面執行匯編代碼
- -a是以匯編指令的形式,再內存中寫入一段代碼
- -r查看下一條cpu執行的指令
- -r ip改變指令偏移
可以看到,此時cpu正好執行我們的程序段,因此不需要更改cs和ip直接-t 即可執行
- 后面一直-t執行即可
總結
以上是生活随笔為你收集整理的汇编 --- 初体验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SSM面试题总结(含答案)
- 下一篇: java 默认排序方式_Java Col