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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

8086CPU常见汇编指令、debug命令

發布時間:2024/4/18 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8086CPU常见汇编指令、debug命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一條指令對應的兩個操作數位數必須一致

匯編指令:
1、mov x,y
傳送:y到x
x,y:
寄存器,數據
寄存器,寄存器
寄存器,內存物理地址
內存物理地址,寄存器
內存物理地址,數據
寄存器,內存偏移地址(此時段寄存器默認為ds)
內存偏移地址,寄存器(此時段寄存器默認為ds)
內存偏移地址,數據(此時段寄存器默認為ds)
段寄存器,寄存器
寄存器,段寄存器

2、add x,y
加法:x+y保存于x中
x,y:
寄存器,數據
寄存器,寄存器
寄存器,內存物理地址
內存物理地址,寄存器
內存物理地址,數據
寄存器,內存偏移地址
內存偏移地址,寄存器

3、sub x,y
減法:x-y保存于x中
x,y:
寄存器,數據
寄存器,寄存器
寄存器,內存物理地址
內存物理地址,寄存器
寄存器,內存偏移地址
內存偏移地址,寄存器

4、jmp x
x:
物理地址

5、loop
mov cx n
s:
程序段
loop s(先進行cx-1,再進行判斷)
loop指令在cx!=0時,自動跳轉到s所指的位置
每次跳轉cx自動減1(循環計時器只能是cx)

6、push data/寄存器/物理地址1
將data/寄存器/物理地址1中的數據放入ss:sp中,sp=sp-2

7、pop 物理地址1/寄存器
將ss:sp中數據彈出棧,保存于物理地址1/寄存器,sp=sp+2

8086模式的DOS中debug命令
1、r:查看CPU寄存器的內容

2、d:查看內存中的內容
d 段地址:偏移地址

3、e:改寫內存中的內容
e 段地址:偏移地址 x x … x

4、u:將內存中的機器指令翻譯為匯編指令
u 段地址:偏移地址

5、t:執行一條機器指令
t 執行CS:IP所指向的指令

6、a:以匯編指令的格式在內存中寫入一條機器指令
a 段地址:偏移地址
匯編指令
……
a 后不接物理地址匯編指令默認寫入數據指針所指地址

7、p
p 使得程序直接跳轉到末尾

8、__ 物理地址(待補充)
功能:使程序無條件跳轉至指定物理地址

9、db、dw、dd(偽指令)
在內存中定義一個數據段
db(definite byte):定義的每一個數據大小為1個字節
dw(definite word):定義的每一個數據大小為1個字
dd(definite double word):定義的每一個數據大小為2個字
用法:
xxx segment
上述偽指令:data1,…datan
end xxx

10、div x
除法
x:
reg(通用寄存器)
內存單元
x用于保存除數
被除數y默認保存在 ax(累加器) 或 ax與dx中
y為16位時,y被保存于ax中,最后商保存在al,余數保存在ah
y 為32位時,低位被保存于ax中,高位被保存于dx中(此時x只能是16位) ,最后商保存在ax,余數保存在dx

11、ptr xxx
xxx:
db
dw
dd
一般用于指令沒有明確要操作的地址空間的大小(無寄存器時)
ptr xxx接在指令之后,表示即將訪問的內存大小為xxx

add [xxxxh],Eh
表明Eh為字節型數據0E

add ptr dw [xxxxh],Eh
表明Eh為字型數據000E

12、xx yy dup (data)
xx為偽指令db、dw、dd
yy為重復次數
data的單個數據占用內存大小由xx決定
例:
name segment
db n dup (4E)
end name
等價于
name segment
db 4E,… ,4E
end name
共n個4E,每個數據占用空間大小為1個字節

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的8086CPU常见汇编指令、debug命令的全部內容,希望文章能夠幫你解決所遇到的問題。

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