pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

匯編語言存儲及寄存器原理解析

這篇文章主要介紹了匯編語言存儲及寄存器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了匯編語言存儲及寄存器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

字的存儲

一個16位寄存器可以存放一個字(16位)或者一個字節(8位),當存放一個字節的時候只需要一個內存單元(內存單元是以字節為單位的,8位),而存放一個字需要兩個內存單元,這樣存放一個字就需要兩個連續的內存單元,這個16位的字,高位存放在高地址,低位存放在低地址。

內存地址 內存數據
0 20H
1 4EH
2 12H
3 00H

對于字來說0就是低地址單元,1是高地址單元,則字型數據4E20H的低地址位20存放在0號單元,高地址位4E存放在高地址單元,因為它的起始地址為0,又可以稱作0地址字單元。

段地址寄存器

通過前面學過的知識我們可以知道當CPU想要對一個內存單元進行操作時,必須知道它的地址,要知道內存單元的地址就要知道它的段地址和偏移地址,在8086 CPU中,DS寄存器就是用來存放段地址的,執行指令的時候,CPU會自動讀取DS中的數據為內存單元的段地址,使用[偏移地址]來表示偏移地址,假設DS寄存器中此時存放的是1000H,那么mov al,[0]就表示將10000H(物理地址=段地址x16+偏移地址)地址上存放的數據存到al中。

如果想要修改DS寄存器中的值,那么直接使用mov指令將數字存到DS寄存器中是不行的,只能先將值存到一個寄存器中,再使用mov指令將這個寄存器中的值存到DS中,例:


mov bx,1000H
mov ds,bx
mov ax,[0]

這樣就將地址為10000H處的值存放到ax寄存器中了,也就是將下表中的4E20H存放到ax中。(ax是十六位,一個字,兩個字節)

內存地址 內存數據
0 20H
1 4EH
2 12H
3 00H

所以一個內存單元地址的確定可以通過段地址DS+[偏移地址]進行確定。

add和sub指令

顧名思義,add指令就是用來做加法操作的,sub指令就是用來做減法操作的,例如add ax,8這條指令相當于C語言中的ax = ax + 8,sub ax,8相當于C語言中的ax = ax - 8。
add和sub指令可以操作的對象有以下幾種形式,以add指令為例:


add 寄存器,數據    例如:add ax,8
add 寄存器,寄存器   例如:add ax,bx
add 寄存器,內存單元    例如:add ax,[0]
add 內存單元,寄存器    例如:add [0],ax


棧,是一段具有特殊訪問方式的存儲空間,它的存取規則是先進后出,后進先出,就像是一個上面沒有蓋的桶,最后放進去的東西只能最先取出來。

那么我們怎么知道在連續的存儲空間中,哪一段是棧,哪一段不是棧,回想一下,CPU是根據CS、IP兩個寄存器中存放的值判斷當前指令存放的位置,根據DS、偏移地址判斷數據存放在哪個內存單元,顯然,也會有相應的寄存器用來判斷哪一段是棧,在8086 CPU中,通過段寄存器SS和寄存器SP就可以確定棧的位置,棧有棧頂和棧底,棧頂的段地址存放在SS中,SP用于存放偏移地址,在任意時刻SS:SP指向棧頂元素,它指向的第一個元素可以理解為棧底,以后每存放一個數據SS:SP就向上提升,而它所指向的就是棧頂。

PUSH和POP指令

有了棧,那么就可以對棧進行存取數據的操作,使用的指令時push和pop指令,push指令用于入棧操作,也就是存數據,pop指令用于出棧,也就是取數據。8086 CPU的入棧、出棧操作都是以字為單位。
假設有如下一段連續的內存單元,此時SS為1000H,SP為000EH,AX為1234H,棧頂為1000EH。

內存地址 數據
1000AH
1000BH
1000CH
1000DH
1000EH
1000FH

首先,因為SS為1000H,SP為000EH,所以棧頂是指向1000EH位置的:
SS為1000H,SP為000EH,AX為1234H

內存地址 數據
1000AH
1000BH
1000CH
1000DH
1000EH [SS:SP]
1000FH

接著我們執行入棧操作,將AX(1234H)入棧,使用push ax操作進行壓棧。
SS為1000H,SP為000CH,AX為1234H

內存地址 數據
1000AH
1000BH
1000CH 34[SS:SP]
1000DH 12
1000EH
1000FH

此時,新的棧頂就變成了1000CH,接著,我們再將一個立即數5678H壓入棧中,使用push 5678:
SS為1000H,SP為000AH,AX為1234H。

內存地址 數據
1000AH 78[SS:SP]
1000BH 56
1000CH 34
1000DH 12
1000EH
1000FH

這是,棧頂就是1000AH,SS為1000H,SP為000AH。
演示完了入棧,我們再進行出棧,使用pop ax操作,將出棧的數據放入到ax寄存器中:
SS為1000H,SP為000CH,AX為5678H。

內存地址 數據
1000AH 78
1000BH 56
1000CH 34[SS:SP]
1000DH 12
1000EH
1000FH

注意,出棧并不意味著之前寫入內存單元的數據被刪除了,之前寫入的數據還是存在的,只不過它不在棧中了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持html5模板網。

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要介紹了匯編中的數組分配和指針的實現代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習
這篇文章主要介紹了asm基礎——匯編指令之in/out指令,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習
這篇文章主要介紹了匯編語言 寄存器內存訪問原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了使用匯編語言實現if else 循環函數調用的具體方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編
這篇文章主要介紹了匯編語言位向量(位映射)的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學
這篇文章主要介紹了匯編語言AND指令實現對兩個操作數進行邏輯(按位)與操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面
主站蜘蛛池模板: 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | 鼓风干燥箱_真空烘箱_高温干燥箱_恒温培养箱-上海笃特科学仪器 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 | 米顿罗计量泵(科普)——韬铭机械| 披萨石_披萨盘_电器家电隔热绵加工定制_佛山市南海区西樵南方综合保温材料厂 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 恒温水槽与水浴锅-上海熙浩实业有限公司| 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 南京和瑞包装有限公司| 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | TMT观察网_独特视角观察TMT行业| 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 管理会计网-PCMA初级管理会计,中级管理会计考试网站 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | 好杂志网-首页| 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 新能源汽车电机定转子合装机 - 电机维修设备 - 睿望达 | ZHZ8耐压测试仪-上海胜绪电气有限公司 | 深圳市源和塑胶电子有限公司-首页 | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 防爆电机_防爆电机型号_河南省南洋防爆电机有限公司 |