汇编语言实现四则运算,实现把一个10位的数的位3和位7清零后,回写到原存储单元

如何用汇编语言实现两个六位数相加
如何用汇编语言实现两个六位数相加
09-10-16 &匿名提问
code segment mov ax,1234h mov bx,5678h add ax,bx
mov ax,4c00h int 21h code ends end自己在DEBUG 下跟踪下 结果是 68ACH
请登录后再发表评论!
code segment mov ax,1234h mov bx,5678h add ax,bx
mov ax,4c00h int 21h code ends end自己在DEBUG 下跟踪下 结果是 68ACH
请登录后再发表评论!
只要把汇编指令都写出来了,你就可以到指令表中找到每一条指令所对应的机器码,然后你只要在机器码后面加上操作数即可,比如,把一个30H单元送入A累加器;指令是这样的:MOV A , 30H .那么你可以在指令表中查到执行这条指的机器码是,但是由于这条指令后面的那个30H单元的数是根据你的要求在不断的变的,机器没规定你只能用30H单元,所以这个30的操作数必须由你填,它们和在一块儿,这条指令的机器码是:11 0000用十六进制来表示:E530,很明显前两位E5是机器指定的,而后两位30是你自己加进去的。共是十六位,占用两个字节……。你说的LED灯闪烁,不知是指的流水灯还是一只发光二极管在不停地闪烁?但不管是哪一种,有一点很重要。你在编写此程序时必须要考虑延时,因为51单片机的晶体振荡器最低频率可能是6M(具体数值我已记不清了)。也就是说单片机的每一个机器周期所占用的时间仅2微秒,如果你不考虑延时的话,那么你设计的那盏灯,它闪烁的结果是;亮2微秒,熄2微秒,也就是说每一秒钟要亮暗50万次,肉眼看这盏灯根本就不会有熄灭的时候,只是比不闪的灯暗了一半。我们生活中用的白炽灯,每秒钟亮暗100次,你能感觉出灯泡有熄灭的时候吗?更何况那是50万次啊!比如设计流水灯的程序,不妨可以这样考虑它的算法。计数寄存器的高八位加上低八位,合起来也只有十六位,它能数的数最大也就是65535,就算单片机用的是最低的6M的晶体振荡器,一个机器周期是12个机器节拍,所以,每一个机器周期占用2微秒时间,从0数到65535,仅用了131070微秒就数完了,约130毫秒,如果就按这个延时去改变灯的亮暗时间,那么这盏灯每秒钟要亮暗3、4次,肉眼虽然能够看到灯有熄灭的时间了。但是眼睛看这样的灯总不会那么舒服,所以至少应让它延时到1秒钟亮暗一次。为了计算方便,就让计数器数100毫秒的时间吧!等计数器数到100毫秒后,就让它再数一次,然后再数一次……,等它数满5次后,这就是500毫秒(半秒钟),然后,我们再去改变灯的亮暗状态。这个程序可以这样来编: MOV  A ,#0FEH
;最低位设为0 MOV  P1, A
;点亮最低位灯 MOV  TCON,#10H
;T1为方式1,定时BEGIN: MOV  R7  ,#05H
;设循环5次STAR: MOV  TH1  #3CH
;计数器数100毫秒 MOV  TL1  #AFH SETB  TR1
;开始计数ROU: JBC   TF1
;100毫秒到否? SJMP ROU
        ;等待到100毫秒SE: CLR TR1
;关闭计数器 DJNZ  R7   STAR
        ;5次循环到否?
RL  A
;把0向左移一位         MOV  P1 ,A
;改下一只灯亮 SJMP BEGIN
51的单片机     ORG  0000HMAIN:MOV R2,#2  L1:MOV R3,#200  L2:MOV R4,#200  L3:NOP     NOP     DJNZ R4,L3     DJNZ R3,L2     DJNZ R2,L1     CPL P1.7     JMP MAIN     ENDMedwin编写C51汇编
八只LED灯做流水灯实验单片机在上电初始后,其各端口输出为高电平。如果我们现在想让接在P1.0口的LED1亮,那么我们只要把P1.0口的电平变为低电平就可以了。想让LED1灭,LED0亮,只需将P1.0升高,P1.1变低,LED1就熄灭LED2随后既点亮!依始类推如下所示8只LED变会一亮一暗的做流水灯了.P1.0低、P1.0高、P1.1低、P1.1高、P1.2低、P1.2高、P1.3低、P1.3高、P1.4低、P1.4高、P1.5低、P1.5高、P1.6低、P1.6高、P1.7低、P1.7高、返回到开始、程序结束。我们不能说P1.1你变低,它就变低了。因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”代码。我们又怎样来用二进制语议论使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。这里的“程序语言”目前主要有汇编和C两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。“汉语”语言 汇编语言 开始: star: P1.0低 clr p1.0 P1.0高 setb p1.0 P1.1低 clr p1.1 P1.1高 setb p1.1 P1.2低 clr p1.2 P1.2高 setb p1.2 P1.3低 clr p1.3 P1.3高 setb p1.3 P1.4低 clr p1.4 P1.4高 setb p1.4 P1.5低 clr p1.5 P1.5高 setb p1.5 P1.6低 clr p1.6 P1.6高 setb p1.6 P1.7低 clr p1.7 P1.7高 setb p1.7 返回到开始 ljmp star 结束 end 这里用到了四条汇编指令:clr、 setb、 ljmp 、end;clr:是将其后面指定的位清为0;setb:是将其后面指定的位置成1;ljmp:是无条件跳转指令,意思是:跳转到指定的标号处继续运行。end:是一条告诉编译器:程序到此结束的伪指令。伪指令只告诉编译器此程序到此有何 要求或条件,它不参与和影响程序的执行。这里需要说明的是,按汇编语法要求,所编制的程序(下称源程序)之格式和书写要求必须依下列原则:1、源程序必须为纯文本格式文件,如用Windows“附件”中的“记事本”编写的文本文件;2、源程序的扩展名应是 *.ASM; 3、一行只能写一条语句,以回车作为本句的结束,每一语句行长度应少于80个字符(即40个汉字)。 4、每行的格式应为:标号: 命令 参数 ;注释即一行由四部份组成,各部份的顺序不能搞错,依实际要求可以缺省其中的一部份或几部份,甚至全部省去,即空白行。需要使用标号时标号后面必须有“:”(冒号),而命令语句和参数之间必须用空格分开,如果命令有多个参数,则参数与参数之间必须用“,”(逗号)分开,需要注释时注释前必须用“;”(分号),“;”后面的语句可以写任何字符,包括汉字用于解释前面的汇编语句,它将不参与汇编,不生成代码。由于汇编程序对我们还不直观,所以在编写源程序时,应当养成多写注释的习惯,这样有助于今后源程序的阅读和维护。标号是标志程序中某一行的符号名,编译后标号的数值就是标号所在行代码的地址。在宏汇编ASM51中标号的长度不受限制,但标号中不能包含‘:’或其它的一些特殊符号,也不能用汉字,可以用数字作标号,但必须用字母开头。当标号作参数用(如标号作转移地址),在命令后面出现时,必须舍去‘:’(如上面程序中的 LJMP STAR中的 STAR 是不能再有:)。每行只能有一个标号,一个标号只能用在一处,如果有两行用了同一个标号,则汇编时就会出错。由于标号的长度没有限制,可以用有意义的英文或汉语拼音来说明行,使源程序读起来更方便。源程序中的字母不区分大小写,也就是说 star 和 STAR 是一样的,请不要用大小写方式去区分不同的标号:流水灯实验详解二 上一节的实验最后没有得到“流水”显示的效果,主要是单片机执行每条指令的时间很短,我们肉眼无法看到LED的熄灭与点亮。单片机内部能按部就班的自动工作,正是在系统时钟的作用下,内部各逻辑硬件产生各种所需脉冲信号而实现的。这个时钟信号(既晶体振荡信号)的周期称“振荡周期”。我们这个实验中晶体使用的是12MHZ. 在单片机中,要处理最短周期的一条指令需要由12个振荡周期(既晶振振荡周期)组成的,这个叫“机器周期”。 8051核的单片机,大多数指令只用一个机器周期(既单周期),也有双周期和四周期的指令。本实验中用到的SETB P.x和CLR P.x均属于单周期指令,也就是说,执行一句 SETB P.x 用时仅1uS(微秒),CLR P.x 也是1uS;难怪我们前面的程序不能看到流水效果。 现在,将程序改动一下,在每点亮一个LED后,让程序干点别的事,也就是让它等一会再将该LED熄灭,继续执行下面的程序:DDW: ;程序开始 CLR P1.0 ;LED1亮 ACALL DELAY ;调用延时子程序 SETB P1.0 ;LED1灭 CLR P1.1 ;换灯,同上 ACALL DELAY   SETB P1.1   CLR P1.2   ACALL DELAY   SETB P1.2   CLR P1.3   ACALL DELAY   SETB P1.3   CLR P1.4   ACALL DELAY   SETB P1.4   CLR P1.5   ACALL DELAY   SETB P1.5   CLR P1.6   ACALL DELAY   SETB P1.6   CLR P1.7   ACALL DELAY   SETB P1.7   LJMP DDW ;返回到开始循环 DELAY:   ;延时子程序 MOV R1,#50   AD10:     MOV R2,#100   AD11:     MOV R3,#100   DJNZ R3,$   DJNZ R2,AD11   DJNZ R1,AD10   RET ;延时子程序结束,返回到调用处的下一句 END   请将上面的程序保存为 1LED.asm,进行编译,并烧写到AT89S51中,之后将89S51安装到套件的实验部份插座上实验,这回显示的就是“流水灯”的效果了!?回过头,让我们看看延时子程序是怎样工作的:单片机内部有不少寄存器,这些寄存器在单片机通电时,你可以给他写入数据(是单片机按你程序要求写的数据,而不是编程器写的),当第二次给他写入新数据时,前次的数据就被新数据覆盖;当然也可以从寄存器中读取数据。当单片机没有电源供给时,寄存器内部的数据也随即消失;这些寄存器人们叫他RAM,而用编程器将我们编写的程序烧写到单片机中的存储器叫ROM;现在,我们应该清楚:RAM是让程序去使用的,ROM是我们编写的程序存放的地方! 前面说过,单片机内部有不少RAM,本实验用的AT89C51有多少寄存器?我们现在不必关心,现在只须知道单片机内部有名叫R0~R7 的这8个寄存器。这8个寄存器每个都由8个单独的位寄存器组成,最大存放数据为二进制的 ,十六进制 = FF,十进制 = 255。在使用时注意不要大于其有效范围。上面延时程序中,先用到 MOV R1,#50 ,MOV是移动的意思,该句是将50这个十进制数放到R1中;50是立即数,按汇编语言要求前面要加“#”号,汇编语言还规定,十六进制数后面要加“?H”,十六进制数的高位是字母时在字母前面还要加“0”,例如:#0F8H;二进制数后面加“B”,例如:#B。十进制不加,例如:#100。延时程序的第二、三句为: MOV R2,#100 ;MOV R3,#100 ;这两句意思同前。第四句中DJNZ R3,$ 的意思是将 R3 里面的数减 1 后如果 R3 不等于 0 则跳到后面指定的程序位置,这里的“$”既要跳转的程序位置,“$”代表当前语句处,也就是说,R3不等于 0,程序返回再次执行本句。如果R3 减 1 后等于0,程序结束本句,继续执行下面的语句。延时程序的最后一句是RET ,意思是退出本子程序,返回到调用本子程序处的下一句。根据上面的解释,一进入延时子程序首先为R1, R2, R3 寄存器装入我们需要的数据,然后先对R3 进行减数,每次减 1 ,R3 减完后减R2 ,减R2 时就费事啦,因为R2 每减 1 后不为 0 需要跳转到AD11 标号处执行下面的语句,此时R3 再次装入数据100,并且还要再次对R3 进行减数......,R2 减完后减R1,减R1的过程你研究研究看看。 每执行 DJNZ ?Rn,rel (Rn 指 R0~R7,rel 指转移地址)指令一次,需要2个机器周期,单片机需耗时2uS(指本实验),若忽略装数等语句,延时子程序从开始到结束,单片机共耗时100*100*50*2nS,既1000000uS=1秒!若加上装数等语句的耗时,延时时间大于1秒。 到此,我们做的流水灯已成功,原理大致也明白啦,若你自认为这一课你完全明白了,那请你将“流水灯”的流向改变一下,也可以改为两边向内流,内部向外流......,我想你一定能用前面学到的方法实现这些功能。可能有些高手说,前面的编程方法是最最笨的!,不错!但玩单片机初期不必讲究语言的简练,只要能完成预先要求就好,这是初学者要知道的。那么还有更好的编程思路吗?有!请继续学习下节课做流水灯实验详解三在上节课中让 LED 流水是去逐个控制P1端口的每个位来实现的,那么我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后让这个数据向高位移动不就实现“流水”效果啦?的确如此!可惜,8051没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指令,ACC是8051单片机内部算术逻辑单元中的一个“寄存器”(这里叫他寄存器是不正确的,但你可以先这样理解,ACC在指令中常写为A),他在数据传输和数据处理过程中作用十分重要,ACC为8位。他可与片内所有单字节寄存器交换数据,实际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。程序如下:DDW:   ;开始 MOV ACC,#0FEH ;ACC中先装入LED1熄灭的数据(即二进制的 ) MOV P1,ACC ;将ACC的数据送P1口 MOV R0,#7 ;因上句送到?p1口的数据就熄灭了一位,所以将数据再移动7次就完成一个8位流水过程 LOOP:   ;数据移动循环 Rl A ;将ACC中的数据左移一位 MOV P1,A ;把ACC移动过的数据送p1口显示 ACALL DELAY ;调用延时 DJNZ R0,LOOP ;没有移动够7次继续移动 LJMP DDW ;移动完7次后跳到开始重来,以达到循环流动效果 DELAY:   ;延时子程序,就是上节课中的延时子程序 MOV R1,#50   ADl0:     MOV R2,#100   ADl1:     MOV R3,#100   DJNZ R3,$   DJNZ R2,AD11   DJNZ R1,AD10   RET   ;延时子程序结束,返回到调用处的下一句 END   ;本汇编程序到此结束 接下来,将上述程序编译,并烧写到前面我们的实验芯片中,流水效果与第二节课的一样。 其实8051单片机有111条指令,这111条指令好比以前我们使用数字传呼机时的“短语代码”一样,可以用几个“短语代码”去表示一句完整、通顺的语句段落。有的指令常用,有的指令不常用,只要遵守语法规则,你可以用这些指令“组合”成你想象到的任何程序。当然,有时一条指令可以替代很多条指令,这样会使程序简捷,费码减少,在编写较大程序时可以让程序存储器放得下你需要的代码。这也是单片机高手所追求的。当然,在程序存储器空间不成问题时,你不这样做但也可以达到预期的功能,这也不算错。 单片机内部还有很多“部件”我们只是用到什么说什么,很不系统。但是我也不想系统的介绍这些,因系统介绍单片机结构和指令的书很多,何况写的远比我好,因此,希望你在看本讲座的过程中,还要结合正规的教材学习其更多的指令和“部件”。这是我在别的地方找过来的,希望对你有所帮助。我用的是WAVE6000编译的。
请登录后再发表评论!【图文】第4章 汇编语言程序设计习题解答_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第4章 汇编语言程序设计习题解答
&&微机原理及应用教案资料
阅读已结束,下载本文到电脑
想免费下载本文?
登录百度文库,专享文档复制特权,积分每天免费拿!
你可能喜欢微型计算机原理及应用第7章汇编语言与汇编程序-学路网-学习路上 有我相伴
微型计算机原理及应用第7章汇编语言与汇编程序
来源:DOCIN &责任编辑:李志 &
微型计算机软件主要包括什么软件答:检举|0:54两天到晚没事干|当前分类:4级微型计算机软件系统可分为系统软件和应用软件两大类。一、系统软件1、操作系统(OperatingSystem,OS)2、语言处理系统(翻译程序)3、服务程序4、数据库管理系统二、应用软件为解决各...微型计算机是什么答:简称“微型机”、“微机”,也称“微电脑”。由大规模集成电路组成的、体积较小的电子计算机。由微处理机(核心)、存储片、输入和输出片、系统总线等组成。特点是体积孝灵活性大、价格便宜、使用方便。微型计算机(Microcomputer)是指以微处理器为基础,...14.微型计算机分为哪几类?答:分类:网络计算机、工业控制计算、机个人计算机、嵌入式计算机一、网络计算机(1)服务器(Server)专指某些高性能计算机,能通过网络,对外提供服务。相对于普通电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、...微型计算机原理及应用第7章汇编语言与汇编程序(图3)微型计算机原理及应用第7章汇编语言与汇编程序(图7)微型计算机原理及应用第7章汇编语言与汇编程序(图9)微型计算机原理及应用第7章汇编语言与汇编程序(图11)微型计算机原理及应用第7章汇编语言与汇编程序(图14)微型计算机原理及应用第7章汇编语言与汇编程序(图16)微型计算机最早出现在哪一代计算机中?问:第一代电子管计算机第二代晶体管计算机第三代集成电路计算机第四...答:属于第四代1971年后的计算机都属于第四代,包括1971年第一块微处理器正好是1971年研制成功的防抓取,学路网提供内容。==========以下对应文字版==========微型计算机的基本工作原理是什么?答:数据和程序通过输入设备输入计算机,存放在存储里面(计算机所有数据和程序都存放在存储器里,除了有些程序或者指令会暂时存放在运算器里)。然后经过控制器译码(因为我们输入防抓取,学路网提供内容。符号指令中的表达式操作数的寻址方式 常用指令 机器指令――用二进制编码形式下达的指示和命令。微型计算机系统包括什么?答:微型计算机系统简称"微机系统",由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。配有操作系统、高级语言和多种工具性软件等。一台完整的微型计算机系统由硬防抓取,学路网提供内容。如:10 0001 机器语言编写程序烦琐,难记 忆,不易理解,易出错 符号指令――由助记符、符号组成,它与机器指令一 一对应。微型计算机又称为什么?简称什么?微型计算机主要分...答:微型计算机又称微机,简称PC。微型计算机主要分为个人计算机、PC机.防抓取,学路网提供内容。10 0001 INT 21H 汇编――机器只能识别机器指令,所以需要将符号指 令翻译成机器指令,翻译的过程称作汇编。微型计算机系统由什么组成?问:以外观上看,微型计算机通常由什么组成?答:一台完整的微型计算机系统由硬件系统和软件系统两部分组成。硬件部分1、中央处理器中央处理器制作在一块集成电路芯片上,也称为微处理器防抓取,学路网提供内容。汇编程序――完成汇编任务的程序。微处理器、微型计算机和微型计算机系统的概念。答:1、微处理器:是指第四代大规模、超大规模集成电路的CPU,是单纯的硬件概念。2、微型计算机:是指用计算机的CPU是用微处理器组成的电脑。3、微型计算机系防抓取,学路网提供内容。1EPUSH DS 2BC0 SUB AX,AX 50 PUSH AX B84D14 MOV AX,144DH 8ED8 MOV DS,AX 汇编语言源程序 汇编程序 目标文件 汇编语言源程序――用符号指令书写的程序。微型计算机原理及应用资料ProcessingUnit)。2、由微型计算机配以相应的外围设备(如打印机、显示器、磁盘机和磁带机等)及其他专用电路、电源、面板、机架以及足够的软件构成的系统叫做微型计...防抓取,学路网提供内容。以字母开头的一串字符为了区别符号和数据,以字母开头的十六进制数, 其前面要加一个前导0 0FFH数据 FFH 符号 符号 汇编中的各种符号由伪指令定义,有 常量、变量和标号三类 常用的有二进制数、十进制数、十六进制数和ASCII字符 1010B,10,0AH, ’A’,’$’,’ABC’ 1.常量 在汇编时已有确定数值的量ASCII字符做数值常量时,需加单引号 1.1 常量和数值表达式 1.1 常量和数值表达式 (1)数值常量 NULDLE SP SOHDC1 STXDC2 ETXDC3 EOTDC4 ENQNAK ACKSYN BELETB BSCAN HTEM LFSUB VTESC FFFS CRGS SORS SIUS 程序中为经常使用的数值取的名。网上有电子版的《微型计算机原理及应用》郑学坚(第三版)吗?《微型计算机原理及应用》作者:郑学坚,周斌编著页数:486出版日期:2001简介:主要内容有:计算机基础知识,微型计算机的基本组成电路、工作原理、指令系统、程序设计,I...防抓取,学路网提供内容。用EQU或?=?伪指令定义,如: EQU314 P=314 注:汇编时,汇编程序不给符号常量分配存储单元 (2)符号常量 1.1 常量和数值表达式 1.1 常量和数值表达式 10 2.数值表达式 数字表达式――由常量与运算符组成的有意义的 式子,结果为一数值。谁有《微型计算机原理及应用》(第三版)的教学视频??如果看教学视频的话只要是介绍微原的就行各个视频讲的东西基本一致防抓取,学路网提供内容。在汇编语言源程序中,允许对常量进行以下三种类型 的运算: (1)算术运算 包括+,-,,/,MOD(求余) (2)逻辑运算 包括AND,OR,XOR,NOT (3)关系运算 包括:EQ(=),NE(),LT (<),GT(>),LE(),GE() 1.1 常量和数值表达式 1.1 常量和数值表达式 11 1.标号的三个属性 (1)段基址―定义该标号所在段的段首址的高16位 (2)偏移地址―标号所在段的段首址到该标号定义指令的 字节距离 (3)类型―NEAR和FAR两种 NEAR―段内调用,FAR―段间调用 标号指令地址的符号表示 1.2 标号 1.2 标号 12 1.2 标号 1.2 标号 2.标号的定义 标号只在代码段中定义和使用,定义的方式有两种: (1)书写在符号指令前,用:定义,为NEAR类型, NEAR型标号只能在段内使用! CYCLE:MOVAL,[SI] ;定义近标号CYCLE (2)用PROC…ENDP伪指令定义过程名 例:ABC PROC FAR ;定义过程名ABC为FAR型标号 ABC ENDP 13 在汇编中都使用变量和地址表达式来表示存储器的 地址。微型计算机原理及应用贾金玲版的课后题答案课后学习网,www.khxxw.com有这份答案,你可以去看看!希望能帮到你!你可以去看看!如果找到了,记得把分给我啊!那里有超多大学各专业课课后答案及考试试卷免费下载!如果没...防抓取,学路网提供内容。变量是存储器中的数据或数据区的符号表示。谁有微型计算机原理及应用清华大学(第三版)的课后习题答案?...我有啦防抓取,学路网提供内容。变量名是数据的地址或数据区的首地址。急求80X86/Pentium微型计算机原理及应用吴宁电子工业出版...已发,请查收防抓取,学路网提供内容。地址表达式由变量、标号、寄存器、常量和运算符 组成。求:微型计算机系统原理及应用习题解答与实验指导(第5版)周明...构成了微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就...BX=3000H,试问:(1)执行指令PUSHAX后防抓取,学路网提供内容。寄存器只能是16位的SI、DI、BX、BP和32 位的通用寄存器 ,且寄存器必须位于[ 1.3变量 1.3 变量 1.变量和地址表达式 14 (1)段基址―定义变量所在段的段首地址的高16位 由SEG算符指定 ;取变量W的段基址(2)偏移地址―变量所在段的段首址到该变量的字节 距离.由OFFSET算符指定 ;取变量W的偏移地址2.变量的属性 (3)类型―存取该变量中数据的字节数 (3)类型―存取该变量中数据的字节数 变量的类型有:字节(byte),字(word),双字 (dword),四字(qword),十字节(tbyte),一个 数据分别占1,2,4,8,10个字节单元 1.3 变量 1.3 变量 15 数据存放规律 字节数据---一个字节单元存放 字数据---二个字节单元存放 双字数据---四个字节单元存放 规定: (2)低位字节的地址为字的地址3.变量存储区中数据的存放 1.3 变量 1.3 变量 16 在数据段或附加数据段中用伪指令定义 [变量名] DB 表达式[, ;定义字节变量[变量名] DW 表达式[, ;定义字变量[变量名] DD 表达式[, ;定义双字变量[变量名] DQ 表达式[, ;定义四字变量[变量名] DF 表达式[, ;定义六字节变量[变量名] DT 表达式[, ;定义十字节变量数据定义伪指令指明了变量的类型 表达式确定变量的初值。80X86/Pentium微型计算机原理及应用和数据结构哪个难?80X86/Pentium微型计算机原理及应用主要偏重硬件,电子知识要强。数据结构也难,电子知识好的话学前面的,要学计算机软件设计,必须要学后者。防抓取,学路网提供内容。表达式有如下6种: 4.变量的定义 1.3 变量 1.3 变量 17 (1)表达式为常量或数值表达式存入数值 如:W1 DW (2)表达式为ASCII字符串存入ASCII值 如:W2 DW ’AB’ ;用DW定义时,串长不可大于2 B2 DB ’AB$’;用DB定义时,串长可大于2 (3)表达式为重复子句 格式:N DUP(表达式) 如:B3 DB DUP(0)B4 DB DUP(5,’A’)1.3 变量 1.3 变量 18 (4)地址表达式(只适用DW、DD和DF3个伪指令) 格式:[变量名] DW 地址表达式 ;取其偏移地址来初 ;始化变量 [变量名] DD 地址表达式 ;取16位偏移地址和段 ;基址来初始化其变量 [变量名] DF 地址表达式 ;取32位偏移地址和段 ;基址来初始化其变量 (5)由以上表达式组成的序列,之间用‘,’分隔 B5 DB 1,2,3 B6 DB ’1,2,3’ 此行的?,?不是序列分隔符1.3 变量 1.3 变量 19 W1 DW B2 ;用B2的偏移地址初始化W1变量 B1 DB AB$ ;变量B1用A、B、$的ASCII码初始化 W2 DW 1994H DDEW EW的段基址和偏移地址初始化DB2 DB DUP(-5,-1)DB DUP(10,E);重复因子1不能省 DB 13,1,3 在附加数据段DATA2中定义的变量如下: EQ DQ ABCDEFH EW DW AB,CD ;用DW定义,字符不超过2个 画出数据的存储形式1.3 变量 1.3 变量 20 变量、标号以及由其组成的地址表达式均有类型属 性。谁帮我解答微型计算机原理及应用试题一、1.硬件系统软件系统2.数据总线地址总线控制总线3.系统软件应用软件4.指令5.借位标志CF6.直接寻址7.顺序程序分枝程序循环程序8.程序数据9.读写存贮器(RAM...防抓取,学路网提供内容。地址表达式的类型属性由其中的变量或标号(一 个地址表达式不可能同时含有变量和标号)决定。超高分求【新编16/32位微型计算机原理及应用(第四版)】课后...http://download.csdn.net/source/1966539,自己在CSDN注册一个号,自己去下载就行了!防抓取,学路网提供内容。不 含变量或标号,仅含寄存器的地址表达式没有类型属 性。防抓取,学路网提供内容。可以使用PTR算符临时变更原地址表达式的类型属 性,或者明确没有类型属性的地址表达式的类型,而仍 保持它们原来的段基址和偏移地址属性不变。当然,这个传球就像当年G6雷阿伦的那记三分。唯一的区别一个是杀死对手,一个是杀死自己虽然理论上传球不无不可,但是同样的詹姆斯甩掉了成为罪人得几率,就像现在大家只是讨论该不该传而已,不过同时詹姆斯也放弃防抓取,学路网提供内容。格式: 类型 PTR 地址表达式 如:BYTE PTR [BX+5] ;明确类型 WORD PTR B2 ;临时变更 地址表达式类型的变更1.3 变量 1.3 变量 21 DW1122H WORD PTR ;将B临时改变为字类型BYTE PTR BYTEPTR BX ;寄存器有类型属性,不能变更BYTE PTR [BX] 1.3变量 1.3 变量 22 汇编语言与汇编程序 符号指令中的表达式操作数的寻址方式 常用指令 常用系统功能调用和BIOS23 符号指令的格式: 操作助记符 [目的操作数][,源操作数] ;注释 操作助记符――指明指令进行什么操作 源操作数指明操作数据的地址;目的操作数既指明操作数据的 地址,还指明(操作后)数据的存放地址 寻址方式――根据操作数寻找操作数据(或数据的存放)地址 的方式 寻址方式可分为三大类: 立即寻址:操作数就是操作数据 寄存器寻址:操作数是寄存器名 存储器寻址 :操作数是地址表达式 操作数的寻址方式24 操作数据在指定的寄存器中 AX=2035H,BX=0178HMOV BX,AX ;BX=AX=2035H ADD AL,BL ;AL=ADH,BL=78H AH,AL,BH,BL,CH,CL,DH,DL8位通用寄存器 AX,BX,CX,DX,SI,DI,BP,SP16位通用寄存器 EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP32位通用寄存器 传送指令 助记符 目的操 作数 源操作 25操作数即为操作数据,操作数据就在指令中 立即寻址方式只能用于源操作数,主要用来给寄存器或存储器赋初值 例:MOV 5,AL 立即寻址例:MOV AL,5 ;将字节05H送AL,AL=05H MOV AX,18 ;将字0012H送AX,AX=0012H MOV BL,-1 ;将字节FFH送BL,BL=0FFH 26 操作数据在存储器中,其偏移地址由指令直接给出 (地址表达式中只有变量名和常量) 直接寻址地址表达式为: 变量名 变量名+常量段地址默认在DS中 例:MOV AX,W 该指令的源操作数的地址为 DS:OFFSET 27直接寻址方式是指寻找的操作数的地址在指令中 直接给出。智能电视的智能功能基本上用不上,只在刚刚买来的时候试了一下,后来一次都没有用过。不知道其他家庭怎么样,反正我们家没有。电视应该回归本源,就是清晰度,分辨率,色彩还原度,音质,其他功能到最后都是死路一条。防抓取,学路网提供内容。这种寻址方式在汇编格式中表示为 操作码 地址表达式 (或[地址表达式]) 操作码 [数字表达式] 28 直接寻址常用已定义的变量表示例:W2 DW -5,1994H MOV AX, W2 AX=FFFBHMOV BX,W2+2 区分立即寻址与直接寻址从变量中取数据属于直接寻址方式,注意与符号 常量区别 例:AA EQU 10 MOV AX,AA ;立即寻址,AX=000AH MOV BX,AA+5 ;立即寻址,BX=000FH 29 要注意的是采用直接寻址方式时,如果指令前面没有用前缀指明操作数在哪一 段,则默认为段寄存器是数据段寄存器 DS。瓷器都是易碎品,在保存时应注意防震、防挤压、防碰撞。鉴赏藏品时要注意不要碰撞、摔落,尽量不用汗手摸。看藏品时最好戴上手套,桌上用绒布垫好,赏看时不要互相传递,一人赏看结束应重置于桌上,其他人再捧持观赏。瓷器的保养要注意:1.勿浸泡於70度C以上的热水中,以免对外表造成影影响2.切勿使用菜瓜布清洗,以免刮伤3.除非特别标明,不可置於微波炉,烤箱及洗碗机中.防抓取,学路网提供内容。例如,MOVAX,[1070H];将DS段的 1070H和1071H两单元的内容取到AX中。高通的CPU都没有这个说法的,因为gpu是搭载,搭载在CPU上面的,所以说你说,高通的508gpu是没有这个说法的,他们两个是相辅相成的,没有CPU拿来的,后来的GPS是不是?然后最后和你说啊,508防抓取,学路网提供内容。执行时,设DS=2000H,则执行过程是 将绝对地址为21070H和21071H两单元的 内容取出送AX。日常生活中,我们常会遇到许多小问题,很让人困扰。但其实只需get一些小技能,就能让你的生活档次立马拉高了好多~~妥妥的!不信?下面就给大家分享几个实用的生活小妙招,让您和家人的生活更加便利。1、一个人防抓取,学路网提供内容。30 若BX=0124H, MOV CX,[BX] ;间接寻址,CX=1958H MOV AX,BX ;寄存器寻址,AX=0124H 操作数为带方括号的寄存器: [SI],[DI],[BX],[BP],[EAX]…[ESP] 寄存器的内容为操作数据的偏移地址 间接寻址31 间接寻址只有一种形式 [寄存器] 间接寻址属于存储器寻址,寄存器内容为操作数据的偏移地址。所谓的黄金身材是有比例的,并不是说太瘦就是好的比例,而是通过公式计算,达标了才能够称得是黄金身材。然而黄金身材指的是9头身,就是除了脸特别小的,还要有172厘米以上的身高。什么才是女性黄金身材?女性黄金身材要精确到什么标准才完美。说起来女性黄金身材基本靠运动和饮食调节。当女性黄金身材符合是就是身体各方面机能最好的时候。当然肥胖也是会离你远远的。那么女性黄金身材的公式是怎样?要完成女性黄金身材的身材防抓取,学路网提供内容。寄存器寻址中,寄存器内容即为操作 数据。如果]有人类,宇宙照样安然无恙,这么大的无际宇宙。人类算什么,人类生存在在宇宙中,好比生存在地球上的细菌一样,倒反如果没有人类和动物出现,没有勾心斗角,没有战争,没有压迫,没有残忍,宇宙更会安静,羡慕防抓取,学路网提供内容。MOVAX,[ECX] MOV AX,[CX] 若用BP、EBP、ESP间址,约定段寄存器为SS;否则,约定段寄存器为DS。学宿舍一般都严禁养宠物,猫猫狗狗难度太大,很容易被铁面无私的宿管发现,但魔高一丈道高一尺,今天“家有良狗”就为大家推荐一些适宜在寝室里养的宠物~但千万切记学校管的严,适可而止,好好学习,毕业在养!1.防抓取,学路网提供内容。例:MOV AX, [BX] ;(DS:[BX])AX 例:MOVAX, [BP] ;(SS:[BP])AX 32 操作数据在存储器中,其偏移地址为基址寄存器 (BX或BP或32位的寄存器)的内容与变量的偏移地址、常 量之和: [变量名+基址寄存器+常量] MOVBL,2[BX] MOVBL,[BX+2] ;(DS:[BX+2])BL MOV6[BP],AX MOV[BP+6],AX AXSS:[BP+6]段寄存器的确定,首先由变量确定;若无变量,则由寄存器 确定,寄存器确定的原则同间址。 机动车驾驶培训教练员应当符合下列条件:  (一)理论教练员。  1.取得相应的机动车驾驶证,具有2年以上安全驾驶经历;  2.年龄不超过60周岁;  3.具有汽车及相关专业中专以上学历或者汽车及相关专业中级以上技术职称;  4.掌握道路交通安全法规、驾驶理论、机动车构造、交通安全心理学、常用伤员急救等安全驾驶知识。  了解车辆环保和节约能源的有关知识,了解教育学、教育心理学的基本教学知识。具备编写教案、规范讲解的授课能力。(二)驾驶操作教练员。  1.取得相应的机动车驾驶证,符合安全驾驶经历和相应车型驾驶经历的要求;  2.年龄不超过60周岁;  3.具有汽车及相关专业中专或者高中以上学历;防抓取,学路网提供内容。基址寻址33 以BX的内容作基地址, 字变量W1的偏移地址为 位移量 或者 以字变量W1的偏移地址 作基地址,BX的内容 看作该变量数据区的 位移量 所以 AL=19H 例如:MOV AL,BYTE PTR[BX+W1] 或者 MOV AL,BYTE PTR W1[BX] 34 变址寻址操作数据在存储器中,其偏移地址为变址寄存器(SI、 DI或32位的寄存器)的内容与变量的偏移地址、常 量之和。让他重新认识你。买玩具给它,陪他玩,逗猫棒之类的。和他捉迷藏就像逗小婴儿一样。在他睡觉的时候抚摸他,让他知道你在抚摸他。给它耳朵后下方连接脖子的那一块地方挠痒以及下巴连接颈部的地方挠痒,那里都是他最舒服的地方比较容易对人放下心房。奖励多于惩罚,买点零食罐头猫饼干小鱼干之类的,抚摸他的时候喂一点,有事没事喂一点,陪他玩的时候喂一点。惩罚的时候不要打,没用,他只会觉得你是个坏人,不会觉得是自己错了。犯防抓取,学路网提供内容。例:MOV AX,2[SI] MOVAX,[SI+2] 执行的操作是(DS:[SI+2]) AX 段寄存器的确定,首先由变量确定;若无变量,则由 寄存器确定,寄存器确定的原则同间址。厦门小吃比较有名的就是沙茶面,土笋冻,虾面,烧肉粽等等。那么我就推荐几家我觉得还不错的小店。老二市口土笋冻,地址位于厦禾路296号香港广场155号。厦门比较知名的老牌小吃店。他们家的土笋冻,吃起来软软防抓取,学路网提供内容。35 MOVAX,4[ BX+DI] 或MOV AX,[BX+DI+4] ;(DS:[BX+DI+4])AX 段寄存器的确定,首先由变量确定;若无变 量,则由基址寄存器确定,基址寄存器确定的原 基址寄存器和变址寄存器的位数要相同。印度的居民一般厕所都有冲洗设备,普通百姓大便时则手拿一口杯水,习俗规定用左手洗屁股,所以到商店挑食品不得用左手,只有在有外国人光顾的高级场所的卫生间里才有手纸。我也是震惊的。下面是原因:为什么是左手?印度人认为,左手是污秽的,只配用来擦屁屁,所以他们吃饭、买东西、找钱、打招呼都是用右手。如果你用左手跟他们打招呼,可是会被翻白眼的。简单来讲,原因有三个:1.习惯难以改变。印度盆友们从小就是这样做的,防抓取,学路网提供内容。操作数据在存储器中,其偏移地址为指令中指定 的基址寄存器和变址寄存器的内容与变量的偏移 地址、常量之和。墨兰,又名报岁兰,花语是娴静,青春永驻,象征淡泊高雅。原产我国、越南和缅甸。叶丛生于椭圆形的假鳞茎上,叶片剑形。深绿色,具光泽。花茎通常高出叶面,在野生状态下可达80~100厘米,有花7~17朵,苞片防抓取,学路网提供内容。36 例:W为一字变量,B为一字节变量,则: MOV AL,W[BX] MOVAL,BYTE PTR W[BX] MOVAX,B[SI+5] MOVAX,WORD PTR B[SI+5] 在符号指令中的基址,变址,基址变址三种寻址中,其位移量可以是常数或符号常量,还可以是变 量名。显然,这个问题,很有难度。不过,我可以举一个例子来回答。当年科比和奥尼尔同在一支球队时,就发生过谁来当核心的矛盾问题。不过两人既然并容了,就得有一个核心。不可否认,当时科比很猛,即使奥尼尔要球时,科比持球也可以不传,而把球打进。但是,事实证明。奥尼尔依旧是核心。三次总决依旧是MVP。科比完美的成为了配角。但是由于,奥胖年纪过大,球队最后还是选择了科比作为球队建队的核心。所以,这里如果要围绕科比和詹防抓取,学路网提供内容。若是变量名,它给出变量所在段的偏移地址, 其意义是取变量单元中的数据,所以其类型要与另 一操作数的类型一致。上大学有不送子女的父母吗?还真是巧的很,昨天我送孩子到大学,正在帮孩子收拾寝室房间时,来了一位小伙子,走进寝室,看到我们后,冲我们笑了笑,因为大学里是提前安排好学生房间的,我的孩子和这孩子虽然此前没有防抓取,学路网提供内容。37 例:将立即数35H存入字节变量BUF+5单元中 直接寻址:MOV BUF+5,35H 间接寻址:MOV BX, OFFSET BUF+5 MOV BYTE PTR[BX],35H 基址寻址:MOV BX, MOVBUF[BX],35H 常用间址、基址/变址访问一片连续的单元例:B1 DB ’AB$’ MOV BX,0 MOV AL, B1[BX] ;AL=41H MOV AH, B1[BX+1] ;AH=42H 38 MOVEBX,[ESI4] 注:比例因子可为且只可为1、2、4、8 操作数据在存储器中,其偏移地址为指令中给出 的含有变址寄存器比例因子的地址表达式的偏 移地址 39 基址比例变址寻址可将基址变址寻址看作是比例因子为1的基 址比例变址寻址。怎么从iCloud下载照片?iPhone的拍照功能一直深受苹果用户们的喜爱,相信有许多用户习惯将保存在手机中的照片备份到iCloud中,以避免手机中的照片意外丢失。不过有时候我们也需要将iCloud中的照片下载到电脑上使用。那么如何将iCloud中的照片下载到电脑上?下面小编与大家一起讨论iCloud文件下载到本地的方法。怎么从iCloud下载照片具体操作步骤如下:第一步:需要我们使用AppleID登录iCloud官网。第二步:登录成功之后,点击进入照片选项。第三步:根据时间日期,选择你想要下载的照片,批量选择的方法是:按住键盘上的Ctrl键,然后鼠标左击就可以了。第四步:点击界面右上角的【下防抓取,学路网提供内容。如: MOV ECX,[EDI8+EAX] MOV EAX,[ESI8+EBX] 操作数据在存储器中,其偏移地址为指令给出的 地址表达式的偏移地址,地址表达式中既有一个 基址寄存器又含有变址寄存器比例因子 40 (1)存储器寻址与地址表达式 地址表达式的一般形式是: 变量[基址寄存器+变址寄存器比例因子+常量] 也可表示为: [基址寄存器+变址寄存器比例因子+变量+常量] 其他寻址方式都是一般形式的不完整形式: 直接寻址:变量+常量 [变量+常量]间接寻址:[寄存器] 基址或变址寻址:变量[寄存器+常量]或变量/常量[寄存器] 基址变址寻址:变量[基址寄存器+变址寄存器+常量] 或基址寄存器+变址寄存器+变量+常量] 比例变址寻址:变量[变址寄存器比例因子+常量] 或变址寄存器比例因子+变量+常量] 10. 存储器寻址及存储器中段基址或段选择字的确定 10. 存储器寻址及存储器中段基址或段选择字的确定 41 (2)存储器寻址中段寄存器的确定 存储器寻址时段寄存器的基本约定和段更换见下表: 存储器存取方式 约定段寄 段更换偏移地 取指令CS 不允许 IP、EIP 堆栈操作 SS 不允许 SP、ESP 数据存取(BP、EBP和ESP间址、基 址除外) DS 另外5个段寄存器 EA BP、EBP和ESP间址、基址数据存 SS另外5个段寄存器 EA 字符串处理指令的源串 DS ES CS SS SI、ESI 字符串处理指令的目的串 ES 不允许 DI、EDI 有效地址EA(Effective Address)是汇编程序计算后得到 的地址表达式的偏移地址。我也是二婚女,有孩子,前夫家里带的。男友就妈妈一个,还有一个亲妹妹已经嫁人有孩子,在隔壁小区住。男友妈妈刚开始不知道我是二婚,然后我让男友大胆的去,因为我不想造成以后结婚东窗事发,就着这么一个地区,纸包不住火。说了以后他妈也不同意,打电话骂我狐狸精,勾引他儿子,让我离开他,说不能接受我。说这么难听,我也就回了几句。然后男友回家,她妈就说我不是凡角,怪厉害!我心想凭什么骂我,你儿子又不是两三岁,我骗他了,拐他了?你儿子自愿的!反正不同意以后,男友也不回家,我们除了上班下班就在一起。他坚信要娶我啊!我们在外面租房子住,他妈经常打电话说不要这个娘了啊。反正我让男友每周回去看看。我又没打算抢,有这个必防抓取,学路网提供内容。42 例如: MOV ES:[DI], AL ;AL ES:[DI]其中ES为前缀字节,产生目标代码时,它将放在这条 MOV指令的前面: 26 ES: 8805 MOV[DI],AL 其中符号指令前3个字节的十六进制数26 88 05是符号 指令MOV ES:[DI],AL的目标代码,即机器指令。你好,其实男士想要穿着得体更需要的是注意场合着装,而不是什么场合都是黑西装。我们也可以通过每年的时装周也总结,有哪但些单品是男士必备又容易出型的。每年的时装周都非常火热除了精彩纷呈的大秀还聚集了超多会穿衣的型男们颜值和衣品都是他们最大的看点风格多元的着装与潮人也让秀场外街拍格外精彩这里我们精选出街拍中出镜率最高的5件单品,供各位男士参考。NO.1西装即使到了炎热夏季,西装也一样不能少。深色西装难免防抓取,学路网提供内容。段超越或段更换是在地址表达式前写上段名或段寄 存器来表示的。先来看看事情的具体情况:明天就是《中国有嘻哈》的冠军决赛之日了,但是在这个时候最有实力争夺冠军的pgone却被爆出吸毒,看到微博评论,网友似乎并不买账。他们纷纷表示“pgone吸毒怎么会胖成这样”,意防抓取,学路网提供内容。段超越或段更换43 汇编语言与汇编程序 符号指令中的表达式操作数的寻址方式 常用指令 常用系统功能调用和BIOS44 移位指令注:学习时注意指令格式及功能 常用指令45 1.通用数据传送指令 格式: MOV dest, source 目的操作数 源操作数 功能:将一个字节或一个字或一个双字数据 从源传送至目的地址中,源保持不变 3.1 数据传送类指令 3.1 数据传送类指令 指令特点:将数据从一个部位传送到另一部位。北方小伙的美食日记:天府之国的舌尖旅途有人说,爱上一座城,是从爱上那座城市的美食开始。有这样一座城市,不仅拥有悠久的历史,更有着中国四大菜系之一的美誉,它因熊猫闻名于世,却用美食征服了每一个过客游子。这也是座不夜城,夜晚醉人的霓虹灯在江边映衬出一幅色彩斑斓的水墨画。成都的夜太美让每一个爱上它的都陶醉。小吃?一可以说,成都完全是一座行走在舌尖上的城市,从来到成都的第一刻起,舌尖上的味蕾便脱离了控制。防抓取,学路网提供内容。不影响标志寄存器中的状态标志位。血管堵塞不足70%时人是没有感觉的,你知道吗?你的血管堵到哪个程度?出现不良反应,则为时已晚!血管堵塞不足70%时人是没有感觉的,你知道吗?按照血管横断堵塞的程度,一般分为:堵塞初期:堵塞30%无症状防抓取,学路网提供内容。46 MOV指令的9种形式: MOV REG,REG MOV REG,IMM MOV MEM,IMM MOV MEM,REG MOV REG,MEM MOV SEGREG,REG ;CS除外 MOV REG,SEGREG MOV SEGREG,MEM ;CS除外 MOV MEM,SEGREG 3.1 数据传送类指令 3.1 数据传送类指令 47 立即数的类型不明确,不含变量名的地址表达式的类型也不明确。先说说单方的劣势吧。小米:骁龙835,功能弱小,miui零碎,绝对愈加好用,价钱劣势,小米有本人的生态零碎,有本人的运用人群,,oppo:线下有200000+的门店(加盟店),线下受众多,骁龙660,一款功能与功耗绝对平衡的处置器,,外观工艺绝对占劣势,有本人的工厂,品控有保证,效劳点多,售后比拟好。再说说各自的缺陷吧。小米,品控较差,网络上也爆出wifi断流,发热,续航,塞纸等等,线下实力不强,防抓取,学路网提供内容。在立即数送存储器的指令中, 若存储器操作数是不含变量名的地址表达式,则 必需使用PTR来明确其中一个操作数的类型。汶川地震,军嫂给灾区的婴儿哺乳,受到人们赞扬?为什么?因为她纯洁无私。母亲听到孩子哭闹了,第一反应是这孩子饿坏了,赶紧给他充饥,别的她不会想,也没有心思去想。旁边人看了就看了,怎么还生出那么多的邪念。防抓取,学路网提供内容。注意: 3.1 数据传送类指令 3.1 数据传送类指令 48 (1)符号位扩展传送指令 格式:MOVSX reg,source 功能: 对源操作数中的8位或16位补码数的符号位进行扩 展,形成16位或32位补码数 MOVSXEAX,BX ;若BX=8765H,则EAX=FFFF8765H (2)零扩展传送指令 格式:MOVZX reg,source 功能:对源操作数中的8位或16位无符号数进行扩展,形成 16位或32位无符号数 如:MOVZX EAX,BL ;若BL=65H,则EAX=.扩展传送指令 3.1 数据传送类指令 3.1 数据传送类指令 49 (1)字节、字和双字交换指令 格式:XCHG dest,source 功能: 将源地址与目的地址中的内容互换 XCHG REG, REG XCHG REG, MEM XCHG MEM, REG 3.数据交换指令 3.1 数据传送类指令 3.1 数据传送类指令 50 例如,数据段中有两个字变量W1和W2,编写程序段将两个 字变量互换 W1 DW 1234H W2 DW 5678H 用数据交换指令实现: MOV AX,W1 ;AX=1234H XCHG AX,W2 ;AX=5678H,W2=1234H MOV W1,AX ;W1=5678H 仅用MOV指令实现: MOV AX,W1 MOV BX,W2 MOV W1,BX MOV W2,AX 3.1 数据传送类指令 3.1 数据传送类指令 51 XCHGBX,[BP+SI] 指令执行前,(BX)=1234H,(BP)=0100H,(SI)=0020H, (SS)=1F00H,(1F120H)=0000H, 源操作数物理地址=1F00H10H+H=1F00H10H+H 指令执行后: (BX)=0000H,(1F120H)= 数据传送类指令 3.1 数据传送类指令 52 3.1 数据传送类指令 3.1 数据传送类指令 (2)32位通用寄存器中4字节交换(Byte Swap)指令 指令格式 BSWAP reg 指令的意义是把32位通用寄存器的第1字节与第4字 节交换,第2字节与第3字节交换。这是有了足够的人生阅历才能够体会到的人生智慧。美国心理学家亚伯拉罕?马斯诺曾经于1943年在其论文《人类激励理论》中提出,人类的需求从低到高可以划分为五个层次,像阶梯一样从下到上,分别是生理需求、安全需求、社交需求、尊重需求和自我实现需求。虽然我们并不宣扬物质万能论,但在生理需求、安全需求这两个较低的需求层次,物质的确是不可获取的资源。对于穷人来说,由于缺乏足够的财富来保障基本的生理与安全需求,因此更容易将物质视为稀缺资源,会更珍惜来之不易的财富,甚至觊觎本不该属于自己的财富。这时产生贪小便宜等心态就不足为奇了,在物质极度缺乏的年代,人类的道德底线甚至都会下降,社会文明倒退到难以想象的地步。冯防抓取,学路网提供内容。如指令: BSWAP EAX 若执行前EAX=H,指令执行后EAX=H。中国有不少神车,这些神车,在马路上随处可见。在很多人口中,更是“好的简直没有缺点”!接下来我们就来看看这些国民心中的神车!  10.大众途观  2015年销量:25.88万辆  价格:19.98-31防抓取,学路网提供内容。使用字节交换指令,将数据段中以BX为偏移地址的 连续四单元的内容颠倒过来,编写的程序段如下: MOV EAX,[BX] BSWAP EAX MOV [BX],EAX 53 栈操作指令堆栈的概念 堆栈操作都是字或双字操作,进栈时SP自动减2/4,出栈时SP自动加2/4。这个问题或许在不同的家庭会有不同的回答,因为爸爸的特点不同,妈妈和孩子的需求也不同:孩子需要“玩伴”之爱有兴趣得听他们或许不够完整、不够调理的讲述,同时讲讲自己小时候的故事;有耐心地等他们按照自己的节奏慢慢地收纳、吃饭、出门,逐渐养成良好的习惯;给予他们犯错的权利,而不以大人或“自己小时候”的“完美小孩”标准要求他们;富有创意和热情地和他们玩耍、嬉闹,而不只是一个冷静的旁观者、守护人;不事无巨细、防抓取,学路网提供内容。3.1 数据传送类指令 3.1 数据传送类指令 54 3.1 数据传送类指令 3.1 数据传送类指令 (1)进栈指令 格式:PUSH source (PUSH 源操作数) 执行的操作:(SP)(SP)-2 先修改指针 ((SP)+1,(SP))操作数 功能:将16位寄存器、段寄存器、16位存储单元数据压入 堆栈。契丹人,辽人,金人都属于华夏文化民族。有很多网络小编胡编乱造硬是把契丹人,辽人,金人划分外来民族。为此作为历史学家认真考古挖掘证据,在契丹人,辽人,金人,时期使用的货币全部由汉字铸造。记住钱币是一个国家文化及命脉象征,不是一脉文化传承根本不可能使用别国文字作为法币。现代人以现代视角看历史,种是把游牧民族与华夏文化区分,完全错误。华夏虽然起源于两河流域,战争消耗导致中原地带民族向草原迁移,这种迁移早防抓取,学路网提供内容。55 SP0040H SP003FH SP003EH 12 34 例:AX=1234H PUSH AX 执行 AX AH AL 12 34 执行过程如下图: 3.1 数据传送类指令 3.1 数据传送类指令 56 (2)出栈指令 格式:POP dest 执行操作:(操作数)((SP)+1,(SP)) (SP)(SP)+2 后修改指针 BX BH BL SP0040H SP003FH 12 SP003EH 34 执行 12 34 例:POP BX 执行过程如下图: 3.1 数据传送类指令 3.1 数据传送类指令 57 使用栈操作指令实现将数据段中两个字变量W1和W2互 换的程序段如下: PUSH W1 PUSH W2 POP W1 POP W2 3.1 数据传送类指令 3.1 数据传送类指令 58 说明: 在中,PUSH、POP指令的操作数不能使用立即寻址方式。不是讨厌不喜欢一般般,相反的我更喜欢冰公主和水王子。每个动漫人物都有他们的个性,王默的性格就是那样,说得好听点是善良,坚强,什么的。反正就是圣母的一切都反应在她的身上,当然,动漫里这样的人物是百分之九十必须有的,尤其是这种拯救世界的这样的人物更是不能缺少,毕竟一切都是套路。各位要体谅,别老是骂来骂去说王默是什么白莲花,你们真讨厌就去找设计师,让他给改改,别老是揪着动漫人物不放无论如何,现在都好期待第五季,看预告第五季很棒,预告片里百分之七十都是水默的画面,哈哈,水默党有福了,鄙人也是水默党一员表示很期待防抓取,学路网提供内容。POP指令的操作数还不能使 用CS寄存器。毫无疑问,在我心中华妃娘娘是整部剧中最漂亮的女人。翻了翻自己以前写过的某些关于甄执拇鸢福看涡吹亩际腔C话旆ǎ芯缰懈魃廊耍叶腊蝗恕9V翱吹接腥怂祷亲辖侵凶钛蘩龅姆雷ト。吠峁┠谌荨堆栈中数据的压入、弹出必须以字为单位,所以PUSH和POP指令只能作字操作。这两条堆栈指令不影响标志位。3.1 数据传送类指令 3.1 数据传送类指令 59 3.1 数据传送类指令 3.1 数据传送类指令 (3)通用寄存器进栈PUSHA/PUSHAD和出栈指令POPA/POPAD PUSHA指令执行的操作是将16位通用寄存器进栈,进栈次序为 :AX、CX、DX、BX、指令执行前的SP、BP、SI、DI。60 3.1 数据传送类指令 3.1 数据传送类指令 PUSHAD指令执行的操作是将32位通用寄存器进栈, 进栈次序为:EAX、ECX、EDX、EBX、ESP(指令执行前 的值)、EBP、ESI、EDI,指令执行后ESP-32。(4)标志寄存器进栈和出栈指令 16位标志寄存器进栈/出栈指令:PUSHF/POPF 32位标志寄存器进栈/出栈指令:PUSHFD/POPFD 61 3.1 数据传送类指令 3.1 数据传送类指令 若想设ZTF=1,程序段如下:PUSHF POP AX AH,01H;修改TF位 PUSH AX POPF 62 地址传送指令这是一类专用于传送地址码的指令,可用来 传送操作数的段地址或偏移地址,共包含以下 3条指令: 操作码 LEA LDS LES 操作功能 取偏址和数据段值取偏址和附加数据段值 地址传送指令 63 取有效地址指令LEA(LoadEffective Address) 汇编格式:LEA 16位寄存器名,存储器寻址方式 执行的操作:(16位寄存器)源操作数的偏移地址 说明: 这条指令常用在初始化程序段中使一个寄存器成为指针。16位寄存器不包括段寄存器。这条指令不影响标志位。LEA 指令将一个近地址指针写入到指定的寄存器。64 LEABX,TABLE TABLE是数据段中定义的地址标号,指令执行前, 如果(BX)=0000H,(DS)=2000H,TABLE=20020H,则指 令执行后,(BX)=0020H。注意LEA与MOV指令的区别: LEA BX,BUFFER MOV BX,BUFFER 前者将存储器BUFFER的偏移地址传送到BX,而后者将 存储器BUFFER的内容(两个字节)传送到BX。65 以下两条指令效果相同: LEA BX,BUFFER MOV BX,OFFSET BUFFER 其中OFFSET BUFFER 表示存储器BUFFER的偏移地址。利用LEA来得到直接寻址存储器操作数的有效地址 时,作用不太显著,因为直接存储器操作数的地址是 已知的常数,而对于间接存储器操作数的地址,用 LEA指令来获取比较有效。66 LEA DX,BETA[BX][SI] 假设执行指令前(BX)=0400H,(SI)=003CH, BETA=0F62H,则执行上述指令后,DX的内容为: CH+0F62H=139EH 这是指令中存储器操作数的偏移地址。LEAAX,[2728] ;将2728单元的偏移量送AX, 指令执行后,AX中为2728 LEA BX,[BP+SI];指令执行后,BX中的内容 为BP+SI的值 LEA SP,[0482] ;使堆栈指针SP为482 67 将地址指针装到DS和另一个寄存器的指令(Loadpointer using DS) 汇编格式:LDS 16位寄存器名,存储器寻址方式 执行的操作:将寻址到的存储单元的第一个源操作数 (字)送16位寄存器,第二个源操作数(字)送DS寄存器。说明:本条指令中的16位寄存器不允许是段寄存 本条指令不影响标志位。68 LDS指令的功能是把4个字节的地址指针(其中包括 一个段地址和一个偏移量)传送到两个目的寄存器, 其中,地址指针的后两个字节即段地址一定送到DS 比如,设2130H~2133H这4个单元中存放着一个地址,2130H和2131H中为地址的偏移量,2132H 和2133H中为地址的段值,执行指令: LDS DI,[2130H] 使2130H和2131H中的偏移量送到DI,2132H和 2133H中的段值送到DS。69 LDSAX,TABLE[SI] 假设(20050H)=H,指令执行前,如果 (AX)=0000H,(DS)=2000H,TABLE=0020H,(SI)=0030H, 则物理地址=H+H;指令执 行后,(AX)=5678H,(DS)=1234H。LDS 指令传送一个32位的远地址指针,其中包括 一个16位的偏移地址和一个16位的段地址,前者送指 定寄存器,后者送数据段寄存器DS。70 将地址指针装到ES和另一个寄存器的指令LES(Loadpointer using ES) 汇编格式:LES 16位寄存器名,存储器寻址方式 执行的操作:将寻址到的存储单元的第一个源操作数 (字)送16位寄存器,第二个源操作数(字)送ES寄存器。说明: 16位寄存器不允许是段寄存器。本条指令不影响标志位。71 LES 指令与LDS类似,也是装入一个32位的远地址指 针。偏移送指定寄存器,段地址送附加段寄存器ES。如: LES DI,[BX] 设原来(DS)=B000H,(BX)=080AH,而有关存储单 元的内容为:(B080AH)=A2H (B080BH)=05H (B080CH)=00H (B080DH)=40H 72 指令执行后,(DI)=05A2H (ES)=4000H 目标地址传送指令常常用于在串操作时建立初始的地 址指针。串操作时,源数据串隐含的段寄存器为DS,偏 移地址在SI中;目标数据串隐含的段寄存器为ES,偏移地 址在DI中。73 换码指令XLAT(Translate)汇编格式:XLAT XLAT地址标号 执行的操作:(AL)*(BX)(AL)+ 说明: XLAT指令是将AL的内容替换成存储单元中的一个数,往往用于代码转换,例如,把字符的扫描码 转换成ASCII码或者把十六进制数0~F转换成七段数 码管显示代码。使用此指令前,先在数据段建立一 个表格,表格首地址存入BX寄存器,欲取代码的表 内位移量存入AL寄存器中。XLAT指令将(AL)值扩展成 16位,与(BX)相加形成一个段偏移地址,段地址取 (DS),据此读出代码送入AL寄存器。74 图5.6 75 该指令有两种格式,第二种格式中的地址标 号是指代码表的表首地址。它只是为提高程序可读 性而设置的,指令执行时只使用预先存入BX中的代 码表首地址,而并不用汇编格式中指定的地址标号。(AL)是一个8位无符号数,所以表格中最多只 能存放256个代码。此指令的执行结果不影响标志位。76 一个七段LED显示代码转换表存于TABLE开始的存储区,则 MOV AL,4 MOV BX,OFFSET TABLE XLAT 也可写成XLAT TABLE 完成了将‘4’的BCD码转换成七段LED显示代码的 工作。77 加减运算的操作数: 加减法指令执行后的结果将影响状态标志3.2 加减运算指令 3.2 加减运算指令 78 1.加法类指令 (1)加法指令ADD 格式:ADD dest,source 操作: source destdest 即将源操作数据与目的操作数据相加,结果存 入目的地址中,源地址内容不变 (2)加进位的加法指令ADC 格式:ADC dest,source 操作:dest CF为前面指令产生的CF (Addition) 79 3个32位无符号数H、8765ABCDH和2468FEDCH相加,其和(仍为32位无符号数)存入双字变量EQ中。用16位通 用寄存器编写的程序段如下程序段如下: MOV DX,1234H MOV AX,5678H ADD AX,0ABCDH ADC DX,8765H ADD AX,0FEDCH ADC DX,2468H MOV WORD PTR EQ,AX MOV WORD PTR EQ+2,DX 80 用32位通用寄存器编写的程序段如下: MOV EAX,H ADD EAX,8765ABCDH ADD EAX,2468FEDCH MOV EQ,EAX 81 格式:INC dest 操作:dest+1dest MOVBX,1 INC BX 该指令不影响CF,对其它标志位的影响同ADD dest,1 INCCL INC[SI] 类型不明确 INC BYTE PTR[SI] INC 2000H 立即数没有类型 该指令常用于修改偏移地址和计数次数(3)增量指令INC (Increment 82格式:DEC dest 操作:dest-1dest 减法类指令格式: SUB dest,source 操作:dest -source dest (2)带借位减指令SBB 格式:SBB dest,source 操作: dest -source -CFCF为前面 指令产生的进位(借位) (3)减量指令DEC (Subtraction) 83 例:2个32位无符号数8765ABCDH 和2468FEDCH相减,其差放双 字变量EQ中。用16位通用寄存器编写的程序段如下: MOV AX,0ABCDH SUB AX,0FEDCH MOV DX,8765H SBB DX,2468H MOV WORD PTR EQ,AX MOV WORD PTR EQ+2,DX 用32位通用寄存器编写的程序段如下: MOV EAX,8765ABCDH SUB EAX,2468FEDCH MOV EQ,EAX 84 (3)比较指令 CMP (Compare) 格式:CMP dest,source 操作: dest -source 后面常跟条件转移指令,根据比较结果实现程序的分支 85 1.求补指令 1.求补指令 格式:NEG dest 操作:将操作数中的内容求补后再送入操作数中 影响标志,影响规律同减法指令3.3 逻辑运算指令 3.3 逻辑运算指令 86 若将执行求补指令前后的数均视为补码数,则求补指令将该数变为绝对值相等符号相反的另一个数。MOVAX,0FFFBH AX=FFFBHNEG AX MOVBX,000AH BX=000AHNEG BX BX=FFF6H87 NEG求补指令(Negate) 汇编格式:NEG 操作数 执行的操作:(操作数)0-操作数 88 利用NEG指令可以得到负数的绝对值。例如假设原来 (AL)=0FFH(0FFH是-1的补码),执行指令NEG AL 结果为(AL)=01H。 将符号位不变, 00001 (CF=1)| 得: 格式:NOT dest 操作:将操作数中的内容逐位取反后再送回操作数 单操作数指令,操作数只能是REG,MEM该指令只是执行求反操作,而不是求反码指令, 对符号位也求反 求反指令90 格式:AND dest,source 操作: destsourcedest 作用:取出目的操作数中与源操作数的?1?对应的位 例:MOV AX,0F6E5H 逻辑与指令91 格式:OR dest,source 操作: dest sourcedest作用:将目的操作数和源操作数中的所有?1? 位拼合在一起 例:MOV BX,7B00H BX,0056H;BX=7B56H 对应?1?位Z1, 对应?0?位则不变 逻辑或指令92 格式:XOR dest,source 操作:dest sourcedest,作用:将REG清0,也可将目的操作数中的某些 位取反 MOVCX, 35EBH XOR CX, 00FFH CX=3514H思考:用什么方法可以实现对通用寄存器清0? XOR AX,AX MOV AX,0 SUB AX,AX 逻辑异或指令93 AND、OR、XOR指令均为双操作数指令,对源操作数和 目的操作数的要求同加减指令,如下图所示: AND、OR、XOR三条逻辑指令均将标志位CF和OF清0, 对PF、SF、ZF的影响同加操作 此类指令常用于拆字、拼字 94 将AX的高4位,CX的中间8位,BX的低4位拼合起来,程序段如下: 如:AX=1234H,BX=5678H,CX=9ABCHAX=ACCBH AH,0F0H;取AX高4位,AH=10H BL,0FH;取BX低4位,BL=08H CX,0FF0H;取CX中间8位,CX=0AB0H 拼字CH=1AH CL,BL;CL=0B8H CX=1AB8H 95 目的操作数仅可以是REG或MEM 源操作数为移位的次数,只能是CL或立即数1~31, 8086微处理器的立即数只能是1。以CL为源操作数的移位指令执行以后,CL的值不变 移位指令为双操作数指令,用于将目的操作数中 的二进制数移位 3.4 移位指令 3.4 移位指令 96 格式: SHR dest,source 操作: ;最后移出位移至CF 用0填补已空出的位 例:AL=abcdefgh SHR AL,1 ;执行后,AL=0abcdefg,CF=h 例:AL=abcdefgh,CL=3 SHR AL,CL ;执行后,AL=000abcde,CF=f dest CF 1.逻辑右移SHR97 格式: SAR dest,source 操作: ;最后移出位移至CF, 最高位向右移动同时 保持不变 例:AL=abcdefgh SAR AL,1 ;执行后,AL=aabcdefg,CF=h dest CF 2.算术右移SAR 98 MOVAL,0CH AL=12SHR AL,1微型计算机的微处理器主要包括_______问:微型计算机的微处理器主要包括_______A、运算器和控制器B、CPU和控制...答:微型计算机的微处理器主要包括运算器和控制器的,所以这个问题的答案是A微型计算机最早出现在哪一代计算机中?问:第一代电子管计算机第二代晶体管计算机第三代集成电路计算机第四...答:属于第四代1971年后的计算机都属于第四代,包括1971年第一块微处理器正好是1971年研制成功的微型计算机的基本工作原理是什么?答:数据和程序通过输入设备输入计算机,存放在存储里面(计算机所有数据和程序都存放在存储器里,除了有些程序或者指令会暂时存放在运算器里)。然后经过控制器译码(因为我们输入计算机的大都使用汇编语言或者高级语言编写的,叫做源程序,计算机...
- Copyright & 2017 www.xue63.com All Rights Reserved}

我要回帖

更多关于 汇编语言实现电子钟 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信