彙編基礎的基礎

2021-07-09 09:52:25 字數 1013 閱讀 2585

一、cup和記憶體的訪問

1:位址線,位址匯流排的寬度決定了cup的定址能力;

2:資料線,資料匯流排的寬度決定了cup與其他器件進行資料傳送時的一次資料傳送量;

3:控制線,控制匯流排的寬度決定了cup對系統中其他器件的控制能力

二、以8086cup十六位為例暫存器(ax、bx、cx、dx、si、di、sp、bp、ip、cs、ss、ds、es、psw)

1:通用暫存器:ax、bx、cx、dx(16位)

由於上一代cup為8位,為了保持相容性

ax可分為ah、al。

bx可分為bh、bl。

cx可分為ch、cl。

dx可分為dh、dl。

2:位:bit。位元組:byte。字:word。

3:在cup內部(運算器、控制器、暫存器等構成),在cup內部之間的訪問是16位,運算器一次最多處理16位資料、

暫存器(用以儲存)的最大寬度是16位。而真正cup和記憶體條等外部器件訪問時的實體地址是20位,因此出現了

段位址和偏移位址以及位址加法器。即由16位的段位址和16位的偏移位址通過位址加法器變成20位的實體地址,通過

輸入輸出控制電路,通過20位的位址匯流排、資料匯流排、控制匯流排和記憶體條訪問。在位址加法器中,實體地址=段位址*16+偏移位址

cs為**段暫存器,ip為指令指標暫存器

cs:ip(cs*16+ip),ip自動增加

5:修改cs、ip的內容

jmp 2ae3:3  執行後:cs=2ae3h,ip=0003h ,cup將從2ae33h出讀取指令

僅修改ip的內容,jmp某一合法暫存器

jmp ax , 指令執行前:ax=1000h,cs=2000h,ip=0003h

指令執行後:ax=1000h,cs=2000h,ip=1000h

相當於 mov ip,ax

mov bx,1000h

mov ds,bx

mov al,[0]

預設段位址是ds,第三步是偏移位址

7:棧,ss:sp指向棧頂元素(sp+-2)

彙編基礎一

第乙個問題 資料存在 1.絕大部分機器指令都是進行資料處理的指令,處理大致可分為3類 讀取 寫入 運算。在機器指令這一層來講,並不關心資料的值的多少,而關心指令執行前的一刻,它將要處理的資料所在的位置。指令在執行前,所要處理的資料可以在3個地方 cpu內部 記憶體 埠。在組合語言中如何表達資料的位置...

彙編基礎 一

組合語言的符號指令 組合語言是一種符號語言,它用 助記符 表示操作碼。下面給出80486符號指令與機器指令對照表 mov move傳送 add 加 sub 減 ret return 返回 指令長度 486指令長度 機器指令長度 為1 16位元組,規定多位元組指令占用連續的記憶體單元,存放指令第一位元...

ARM彙編基礎

簡介 在armv6中,simd指令使用位 19 16 作為結果的單個位元組或半字的大於或等於 ge 標誌。您可以使用這些標誌來控制以後的sel指令,有關詳細資訊,請參閱第a4 127頁的sel 設定規則有以下三種 指令為半字操作 根據上半字計算的結果,將ge 3 2 設定或清除 根據下半字計算的結果...