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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

汇编寄存器(内存访问)基础知识之三---mov指令

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编寄存器(内存访问)基础知识之三---mov指令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?1 內存中字的存儲

  一個字型數據占2個內存單元,內存里面一個內存單元一個字節(8位),高地址單位放高8位,低地址單元放低8位。

  

注意:0號是地址單元,1是高地址單元(上是低地址,下面是高地址)

   (1) 2地址單元中存放的 字節型 數據是 12H
   (2)2地址單元的存放法 字型 數據是 0012H (字型要2個字節)
   (3) 1地址單元的存放的 字型 數據是 124EH

結論:

   任何2個地址連續的內存單元,N號和N+1號,可以看成2個內存單元,
   也可以看成一個地址為N的字單元中的高字節單元(n+1)和低位字節單元(n)

   一個字型數據占2個內存單元,內存里面一個內存單元一個字節(8位),高地址單位放高8位,低地址單元放低8位。


  cpu要讀取一個內存單元的時候,要先給出這個內存單元的地址
  DS寄存器(數據段寄存器),存放要訪問的數據的段地址

mov指令的可以完成3種傳送:
  (1)數據直接送入寄存器
  (2)一個寄存器的內容送入另一個寄存器
  (3)可以將一個內存單元中的內容送入一個寄存器

mov指令的格式:
    mov 寄存器名,內存單元地址

  [...]表示一個內存單元,[....]中的0表示內存單元的偏移地址是0
  但是內存單元的段地址是: cpu自動取ds中的數據為內存單元的段地址

  mov ds,1000H 表示是錯誤的,
    因為8086CPU不支持將數據直接送入段寄存器,
    但是直接可以送入通用寄存器,這是硬件設計的問題


  數據--》通用寄存器--》段寄存器

從哪個內存單元送到哪個寄存器中呢?

例如: 將數據從內存中單元送入寄存器(AH 是AX 的高8位,AL 是AX 的低8位)
  mov bx,1000H
  mov ds,bx
  mov al,[0] //偏移地址0放到al里面 ,[ ... ]表示一個內存單元, [ ...]里的0表示內存單元的偏移地址是0
  上面指令是從1000H(1000:0)中的讀數據


思考:如何將數據從寄存器送入內存單元:
  mov bx,1000H
  mov ds,bx
  mov [0],al


2 ?字的傳送:
  8086cpu是16位結構,有16根數據線,所以一次性可以傳送16位的數據,也就是一次性傳送一個字(2個字節,2個16進制=1個字節,2個字節=4個16進制)
  比如:
    mov bx,1000H
    mov ds,bx
    mov ax,[0] //1000:0 處的字 型數據(一個字=2個字節)傳入
    mov [0],cx //cx 中的16位數據送到1000:0處

?

  一個字型數據占2個單元,內存里面一個內存單元一個字節(8位)
  測試:

    ? 

  修改命令是 e 1000:0 23 11 22 66

     

  寫入命令( a CS:IP)

    

  t執行命令
    結果是

    

  分析說明:

    

?

3: mov add , sub(減法)指令

  mov指令的幾個形式:

    mov 寄存器,數據 比如 mov ax,8

    mov 寄存器,寄存器 比如 mov ax,bx

    mov 寄存器,內存單元 比如 mov ax,[0]

    mov 內存單元,寄存器 比如 mov [0],ax

    mov 段寄存,寄存器 比如 mov ds,ax

?  add和sub形式和mov指令類似,

說明:sub ax,ax和mov ax,0 功能一樣;區別是 ?sub的機器碼是2個字節,mov的機器碼是3個字節

?

?小結:

(1)字在內存中存儲時,要在2個連續的內存單元(一個單元一個字節)來存放。字的低位字節存放在低地址單元中,高為字節存放在高地址單元中

(2)用mov指令訪問內存單元,可以在mov指令中給出單元的偏移地址,此時,段地址默認在DS寄存器中

(3)[address]表示一個偏移地址為address的內存單元

(4)在內存和寄存器之間傳遞 字型 數據時,高地址單元和高8位寄存器,低地址單元和低8位寄存器想對應

(5)mov ,add,sub具有2個操作對象的指令,jmp是具有一個操作對象的指令

?

?

轉載于:https://www.cnblogs.com/DonAndy/p/6090859.html

總結

以上是生活随笔為你收集整理的汇编寄存器(内存访问)基础知识之三---mov指令的全部內容,希望文章能夠幫你解決所遇到的問題。

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