版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 寄存器(内存访问)3.1 内存中字的存储内存中字的存储nBigEndion :IBM370、PDP-10、Motolora 微处理器系列、绝大多数RISC处理器nLittleEndion :PDP-11、 VAX 、Intel微处理器系列(80X86构架)内存中字的存储n字节单元n字单元问题3.13.2 DS和address nmov ax, 1000hnmov ds, axnmov al, 08086 CPU 不支持将数据直接送段寄存器的操作问题 3.23.3 字的传送nmov bx, 1000hnmov ds, bxnmov ax, 0nmov 0, cxn问题3.3n问题3.43
2、.4 mov、add、sub 指令nMov mem, acnMov ac, memnMov reg, regnMov reg, memnMov mem, regnMov reg, datanMov mem, datanMov segreg, regnMov segreg, memnMov reg, segregnMov mem, segreg常见缩写nreg 寄存器nsegreg 段寄存器nidata 立即数nmem 内存单元nac 累加器(AX)MOV(move)n把一个字节或字的操作数从源地址传送至目的地址MOV reg/mem,immMOV reg/mem,imm;立即数送寄存器或主存;
3、立即数送寄存器或主存MOV reg/mem/seg,regMOV reg/mem/seg,reg;寄存器送(段)寄存器或主存;寄存器送(段)寄存器或主存MOV reg/seg,memMOV reg/seg,mem;主存送(段)寄存器;主存送(段)寄存器MOV reg/mem,segMOV reg/mem,seg;段寄存器送寄存器或主存;段寄存器送寄存器或主存演示演示MOV指令立即数传送mov cl,4;cl4,字节传送mov dx,0ffh;dx00ffh,字传送mov si,200h;si0200h,字传送mov bvar,0ah;字节传送;假设bvar是一个字节变量,定义如下:bvar d
4、b 0mov wvar,0bh;字传送;假设wvar是一个字变量,定义如下:wvar dw 0明确指令是字节操作还是字操作明确指令是字节操作还是字操作MOV指令寄存器传送mov ah,al;ahal,字节传送mov bvar,ch;bvarch ,字节传送mov ax,bx;axbx,字传送mov ds,ax;dsax,字传送mov bx,al;bxal,字节传送 寄存器具有明确的字节和字类型寄存器具有明确的字节和字类型MOV指令存储器传送mov al,bx;alds:bxmov dx,bp;dxss:bpmov dx,bp+4;dxss:bpmov es,si;esds:si 不存在存储器向
5、存储器的传送指令不存在存储器向存储器的传送指令MOV指令段寄存器传送mov si,dsmov ax,ds;axdsmov es,ax;esaxds 对段寄存器的操作不灵活对段寄存器的操作不灵活MOV指令传送功能图解立即数立即数段寄存器段寄存器CS DS ES SSCS DS ES SS通用寄存器通用寄存器AX BX CX DXAX BX CX DXBP SP SI DIBP SP SI DI存存储储器器非法指令的主要现象:n两个操作数的类型不一致n无法确定是字节量还是字量操作n两个操作数都是存储器n段寄存器的操作有一些限制非法指令两个操作数类型不一致在绝大多数双操作数指令中,目的操作数和源操作
6、数必须具有一致的数据类型,或者同为字量,或者同为字节量,否则为非法指令MOV AL, 050AH;非法指令,修正:;mov ax,050ahMOV SI, DL;非法指令,修正:;mov dh,0;mov si,dx非法指令无法确定是字节量还是字量操作当无法通过任一个操作数确定是操作类型时,需要利用汇编语言的操作符显式指明MOV BX+SI, 255;非法指令,修正:;mov byte ptr bx+si,255;byte ptr 说明是字节操作;mov word ptr bx+si,255;word ptr 说明是字操作非法指令两个操作数都是存储器8086指令系统除串操作指令外,不允许两个操
7、作数都是存储单元(存储器操作数)MOV buf2, buf1;非法指令,修正:;假设buf2和buf1是两个字变量;mov ax,buf1;mov buf2,ax;假设buf2和buf1是两个字节变量;mov al,buf1;mov buf2,al非法指令段寄存器的操作有一些限制8088指令系统中,能直接对段寄存器操作的指令只有MOV等个别传送指令,并且不灵活MOV DS, ES;非法指令,修正:;mov ax,es;mov ds,axMOV DS, 100H ;非法指令,修正:;mov ax,100h;mov ds,ax MOV CS, SI ;非法指令;指令存在,但不能执行add 和 su
8、b 指令nadd reg, idatanadd reg, regnadd reg, memnadd mem, regnsub reg, idatansub reg, regnsub reg, memnsub mem, regadd、sub 总结n双操作数指令n操作数不能是段寄存器3.5 数据段n数据段是我们编程时安排的,用来存放数据的内存段n在DS中存放数据段的段地址n问题3.5检测点 3.1n作为作业n要求: 必须独立完成。3.6 栈n栈是一种具有特殊的访问方式的存储空间。n后进先出 LIFO (Last In First Out)n栈的基本操作: 入栈、出栈3.7 CPU 提供的栈机制nC
9、PU 提供相关的指令来以栈的方式访问内存空间nPUSHnPOPn8086 CPU 的入栈和出栈操作都是以字为单位进行的。nmov x, 0123hnpush axnmov bx, 2266hnpush bxnmov cx, 1122hnpush cxnpop axnpop bxnpop cx假设将10000H1000FH这段内存作 为栈使用 问题:n问题1:CPU如何知道哪段内存空间作为栈空间使用?n问题2: CPU如何知道哪个单元是栈顶单元?n答案:SS中存放栈顶的段地址,任意时刻,SS:SP指向栈顶元素push指令的功能。例如:push axn1. sp = sp-2, SS:SP指向当前
10、栈顶单元,以当前栈顶前面的单元为新的栈顶n2. 将 ax 中的内容送入SS:SP指向的内存单元,SS:SP这时指向新栈顶。n注意: 8086 CPU入栈时, 栈顶从高地址向低地址方向增长。问题 3.6n栈空时,SP指向栈空间最高地址单元的下一个单元pop指令的功能。例如:pop axn1. 将SS:SP 指向的内存单元中的数据送入ax中。n2. SP = SP+2, SS:SP指向新的栈顶单元3.8 栈顶越界问题n当栈满的时候再使用push指令入栈,或栈空的时候再使用pop指令入栈,都将发生栈顶越界问题。nCPU不保证我们的操作不越界,也就是说,我们编程的时候应该自己注意越界错误的问题。3.9 push、pop 指令格式npush regnpop regnpush sre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广州医科大学附属第三医院粤西医院(茂名市电白区妇幼保健院)托育园招聘编外工作人员4人备考题库含答案详解【预热题】
- 2026汉江实验室三亚研究中心(三亚深海科学与工程研究所)招聘20人备考题库含答案详解(达标题)
- 西培专升本教育项目合作合同合同
- 2025 网络基础之科研网络的网络知识产权保护案例课件
- 安全健康管理实施方案承诺书(3篇)
- 品牌建设与形象塑造支持工具
- 营销策划中的品牌管理策略分析
- 环境治理措施不断改进承诺书6篇
- 技术领域合规经营承诺书5篇
- 艺术品修复技术规范承诺书(8篇)
- 力扬 LY-100系列变频器使用说明书
- 《夏洛的网》读书交流会(经典版)
- 王者荣耀水友赛活动方案
- 《标准化原理》大学笔记
- 生成式人工智能绘画著作权侵权与规制策略探讨
- 水炮施工方案消防水炮安装施工方案
- 某物流供应商管理制度范本
- 第6章-飞机环境控制系统-《航空器系统与动力装置》
- 人教版四年级数学下册《图形的运动(二)》试题(含答案)
- PSSR审查表 (空白简单版)
- 江苏上达半导体有限公司介绍企业发展分析报告模板
评论
0/150
提交评论