日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编 --- 初体验

發(fā)布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编 --- 初体验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

假設內存10000H中的值為23,10001H中的值為11,10002H中的值為22,10003H的值為11
在debug中執(zhí)行以下代碼

mov ax,1000H mov ds,ax mov ax,[0] mov bx,[2] mov cx,[1] add bx,[1] add cx,[2]
  • 分析:8086CPU中由于段地址寄存器,無法直接賦值,因此需要先將值賦給通用寄存器然后再給ds賦值代碼如下
mov ax,1000H mov ds,ax mov ax,23 mov [0],ax mov ax,11 mov [1],ax mov ax,22 mov [2],ax mov ax,11 mov [3],ax mov ax,[0] mov bx,[2] mov cx,[1] add bx,[1] add cx,[2]


第一行回不去了… 代碼地址是 0482:0139

-r 查看當前的cs:ip

當前執(zhí)行的匯編代碼是 mov ax,1000
cs = 0482, ip = 0100
我們需要改變ip 來執(zhí)行上面的代碼
-r ip
0139

此時開始執(zhí)行我們寫的代碼段
-t 按段執(zhí)行代碼


下面提供正確的解法

  • 上面是第一次用寫的…
  • 下面的是正解 - -
  • -d查看內存中的數(shù)據(jù)
-d 1000:0


可以看到,此時內存1000:0000 到 1000:0003的值都為0

  • 下面使用-e 寫入數(shù)據(jù)
-e 1000:0 23 11 22 66
  • 再次使用-d查看
-d 1000:0

  • 內存中的值已經(jīng)寫入完畢,下面執(zhí)行匯編代碼
  • -a是以匯編指令的形式,再內存中寫入一段代碼
-a mov ax,1000 mov ds,ax mov ax,[0] mov bx,[2] mov cx,[1] add bx,[1] add cx,[2]

  • -r查看下一條cpu執(zhí)行的指令
  • -r ip改變指令偏移
-r -r ip 0100


可以看到,此時cpu正好執(zhí)行我們的程序段,因此不需要更改cs和ip直接-t 即可執(zhí)行

  • 后面一直-t執(zhí)行即可

總結

以上是生活随笔為你收集整理的汇编 --- 初体验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。