寄存器(内存访问) 网络操作系统.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
寄存器(内存访问) 网络操作系统

第三章 寄存器(内存访问) 3.1 内存中字的存储 内存中字的存储 Big—Endion :IBM370、PDP-10、Motolora 微处理器系列、绝大多数RISC处理器 Little—Endion :PDP-11、 VAX 、Intel微处理器系列(80X86构架) 内存中字的存储 字节单元 字单元 3.2 DS和[address] mov ax, 1000h mov ds, ax mov al, [0] 8086 CPU 不支持将数据直接送段寄存器的操作 问题 3.2 3.3 字的传送 mov bx, 1000h mov ds, bx mov ax, [0] mov [0], cx 问题3.3 问题3.4 3.4 mov、add、sub 指令 Mov mem, ac Mov ac, mem Mov reg, reg Mov reg, mem Mov mem, reg Mov reg, data Mov mem, data Mov segreg, reg Mov segreg, mem Mov reg, segreg Mov mem, segreg 常见缩写 reg 寄存器 segreg 段寄存器 idata 立即数 mem 内存单元 ac 累加器(AX) MOV(move) 把一个字节或字的操作数从源地址传送至目的地址 MOV指令--立即数传送 mov cl,4 ;cl←4,字节传送 mov dx,0ffh ;dx←00ffh,字传送 mov si,200h ;si←0200h,字传送 mov bvar,0ah ;字节传送 ;假设bvar是一个字节变量,定义如下:bvar db 0 mov wvar,0bh ;字传送 ;假设wvar是一个字变量,定义如下:wvar dw 0 MOV指令--寄存器传送 mov ah,al ;ah←al,字节传送 mov bvar,ch ;bvar←ch ,字节传送 mov ax,bx ;ax←bx,字传送 mov ds,ax ;ds←ax,字传送 mov [bx],al ;[bx]←al,字节传送 MOV指令--存储器传送 mov al,[bx] ;al←ds:[bx] mov dx,[bp] ;dx←ss:[bp] mov dx,[bp+4] ;dx←ss:[bp] mov es,[si] ;es←ds:[si] MOV指令--段寄存器传送 mov [si],ds mov ax,ds ;ax←ds mov es,ax ;es←ax←ds MOV指令传送功能图解 MOV指令也并非任意传送! 非法指令--两个操作数类型不一致 在绝大多数双操作数指令中,目的操作数和源操作数必须具有一致的数据类型,或者同为字量,或者同为字节量,否则为非法指令 MOV AL, 050AH ;非法指令,修正: ;mov ax,050ah MOV 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指令系统除串操作指令外,不允许两个操作数都是存储单元(存储器操作数) 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,ax MOV DS, 100H ;非法指令,修正: ;mov ax,100h ;mov ds,ax MOV CS, [SI] ;非法指令 ;指令存在,但不能执行 add 和 sub 指令 add reg, idata add reg, reg add reg, mem add mem, reg sub reg, idata sub reg, reg sub reg, mem sub mem, reg add、sub 总结 双操作数指令 操作数不能是段寄存器 3.5 数据段 数据段是我们编程时安排的,用来存放数据

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档