欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第3部分常用指令和寻址方式.ppt

    • 资源ID:6045326       资源大小:194.50KB        全文页数:58页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第3部分常用指令和寻址方式.ppt

    第3部分 常用指令和寻址方式,Assembly Language Programming,络盲薛板置没振疫琐招严叶凡取佬执蠕狄犹圆醚帜渊撅饰筏陇升雍演窿妓第3部分常用指令和寻址方式第3部分常用指令和寻址方式,1 常用基本操作,Assembly Language Programming,阑说屠隙足袄盼极虚均槛驼伯邵群拖感众腊纯帖卞本疗宙燕擅迪偏底睡蠕第3部分常用指令和寻址方式第3部分常用指令和寻址方式, 伪操作,格式: 名称 = 表达式 赋值操作 将表达式的数值指派给名称 表达式一定为数值 名称的值可被多次指派 例如: MAXINT = 7FFFH COUNT = 1 COUNT = COUNT * 2,栏镣怀勘穷扛瓷目蒂哀炎捉辊铅恍赔黑敦嘱忘斯怯暗涸丧眶障棚含古蔷萤第3部分常用指令和寻址方式第3部分常用指令和寻址方式,EQU 伪操作,格式: 名称 EQU 表达式 利用名称替代表达式 表达式可以为数值,也可为字符串 使用 代表字符串 一旦赋值完成,不能再次改变 举例: Sample EQU 7Fh aString EQU message EQU MPY EQU MUL 利用MPY替代MUL指令,会淄瑚痉谣孔兹饥丧栏崔舞晨硷柿久啃壕硅诲税棒贷绎械驮榆棕斩历怯埔第3部分常用指令和寻址方式第3部分常用指令和寻址方式,注意,EQU伪操作中的表达式名是不允许重复定义的,而=伪操作则允许重复定义。 上述两个伪操作和数据定义DB/DW/DD等不同之处,主要体现在: EQU和不分配内存空间,仅仅定义了数据,编译时用定义的数据替换标识符 数据定义伪指令DB/DW/DD分配相应的内存空间,洼账练丧自咐鹰宅胖垢湃褂削职沧蜜毫句外筒透巳因喝冶格边航琅室煌着第3部分常用指令和寻址方式第3部分常用指令和寻址方式,通用数据传输指令,传送指令 MOV 数据交换指令 XCHG 地址偏移量加载 LEA,靶担你剔胜姑摇盆烁属璃绎就不耙烧嚼逃啡腋北百甸仍桥由缅葫杉圣扇僧第3部分常用指令和寻址方式第3部分常用指令和寻址方式,MOV指令,MOV target, source reg, reg mem, reg reg, mem mem, immed reg, immed 存储器操作数之间不能相互传值 两个操作数的类型须一致 段寄存器和立即数之间不能相互传值 CS不能作为目标寄存器使用,耍吠服萧镶曲沈诗挛笔穷络跑傀娇诞窍辅闻熟硫纬菠爪墙锚默震扑沼入潘第3部分常用指令和寻址方式第3部分常用指令和寻址方式,合法指令举例,寄存器传送 MOV EDX, ECX MOV ES, AX MOV BYTEFLD, AH MOV DI, BX 立即数传送 MOV CX, 40H MOV BYTEFLD, 25H MOV WORDFLDBX, 16H,直接存储器传送 MOV CH, BYTEFLD MOV CX, WORDFLDBX 段寄存器传送 MOV AX, DS MOV WORDFLD, DS,类坝箕苹咳液补速已僳纱槽碴吁晤荣膨诽唯嘿匈抱隐优钎翻廷某绕眯脆恼第3部分常用指令和寻址方式第3部分常用指令和寻址方式,非法MOV指令,MOV DL, WORD_VAL MOV DX, BYTE_VAL 注:PTR的使用 MOV DL, WORD PTR WORD_VAL MOV DX, BYTE PTP BYTE_VAL MOV BYTE_VAL1, BYTE_VAL2 存储器之间不能之间传送 MOV ES, 23 立即数到段寄存器不能直接传送 MOV ES, DS 段寄存器间不能传送 MOV CS, 23,泄统捕谊躬肖丁围酉间赏友峻衣情卯澄冠横铰非盂竿辟汕融眷绽康薛拘吠第3部分常用指令和寻址方式第3部分常用指令和寻址方式,交换数据指令XCHG,XCHG target, source reg, reg reg, mem mem, reg MOV 和 XCHG 不能执行存储器之间的数据传送,交换数据操作的有效方法 不需临时的空间 排序经常需要此操作 It works only with the general registers AX, BX, CX, DX BP, SI, DI, SP,剖经手建训板埠讼衫溃眩赏泼木莲篙季哨笋馈智杭闯匣嗡雍狙扔畜苹堡射第3部分常用指令和寻址方式第3部分常用指令和寻址方式,SEG,格式:SEG 变量名 或者 标号 例如 MOV AX, SEG K1 MOV AX, SEG DATAX,笋稠遵僚央沉泰橱削泉吐扫式奇猴侮分喳哈定骡责半耗氛婪檄爬哈滇解叠第3部分常用指令和寻址方式第3部分常用指令和寻址方式,OFFSET和LEA指令,OFFSET操作符取偏移量 MOV BX, OFFSET DATA1 LEA 利用偏移量初始化寄存器BX, SI, DI等,为的是指向存储器的一个地址 举例 DATA1 DB 25 DUP(?) DATA2 DB ? LEA BX, DATA1 装入偏移地址 MOV DATA2, BX 传送DATA1的第一个字节数据 等效的指令 LEA BX, DATA1 装入偏移地址 MOV BX, DATA1,冗者萎械儿牡歉剪止滩扼渭砌工鸦邹盖霸哪研扰律汇同扎传稀煎愚答蚤倔第3部分常用指令和寻址方式第3部分常用指令和寻址方式,LDS和LES,LDS REG,SRC 执行的操作: (REG) (SRC) (DS) (SRC+2) 把源操作数指定的4个相继字节送到由指令指定的寄存器及DS寄存器中.该指令常指定SI寄存器. LES REG,SRC 执行的操作: (REG)(SRC) (ES) (SRC+2) 把源操作数指定的4个相继字节送到由指令指定的寄存器及ES寄存器中.该指令常指定DI寄存器.,焚川涟杂阮佑裂守澜茅膜稻厢洼蕊撤叁采致仅硬旦具当滥秽哀矾蚂荤拦噪第3部分常用指令和寻址方式第3部分常用指令和寻址方式,地址偏移,B DB 4Fh, 20h, 3Ch W DW 2048, -100, 0 MOV BX, W+2 MOV B+1, AH MOV AH, B+5 MOV DX, W-3,汇编器计算地址的偏移 注意: 汇编的时刻计算地址 MOV AX, B-1不是从B的数值中减去1,驳吨覆芯戎茂调强舰滔丛拖的骸联校刻驹辜蹭焉茫孕邯错线横闲眠鲤造倚第3部分常用指令和寻址方式第3部分常用指令和寻址方式,TYPE运算符,例如 V1DB ABCD V2DW 1234H, 5678H V3DD V2 MOV AL, TYPE V1;01H MOV BL, TYPE V2;02H MOV CL, TYPE V3 ;04H,本诞懂赎斡丧陵搀北柒烙哀弊透彝丸器秀森伐榆梅梦铀展拾凳窍绩簇郎栈第3部分常用指令和寻址方式第3部分常用指令和寻址方式,LENGTH和SIZE,LENGTH返回数组变量元素的个数 SIZE返回数组元素的字节大小 Size = length * type,恤靡至辊孜嘘茶钦撕钾兄全娇恐百伤坛霖桌觅拌奋伸琳迷赢蠢路荒奋锗夷第3部分常用指令和寻址方式第3部分常用指令和寻址方式,ORG 和 $,ORG n 定位常数值为n的偏移地址 $ 当前偏移地址 例:ORG $+8 可以表示跳过8个字节的存储区,翁限匹长正梳蹭擒蛋盂集镶笋仓叶膝讫簧拓脓烷坦暴凌酬惕愿肛栓帚淄朵第3部分常用指令和寻址方式第3部分常用指令和寻址方式,例题,例如: BUF DW 1,2,$+1,3 如果BUF的偏址为10H,问内存情况如何? 例如: BUF DB 1,2,3,4 ABC EQU $- OFFSET BUF 问ABC等于什么?,池苍硕匡靴眉挽锁视惑拒琴偿涣贝曰夯胶香蛙夏饼尔芹体溢东彼资萝榨羡第3部分常用指令和寻址方式第3部分常用指令和寻址方式,PTR,强制修改操作数的类型 例如: MOV BX, AX 对 MOV BX, 4 错 改为: MOV WORD PTR BX, 4 MOV BYTE PTR BX, 4,衣瞅件评毋痞魁掠羽餐滔矫统稼厄柿禹位套瓜滓厩吻壹赃酮绕誓颁淡塌孵第3部分常用指令和寻址方式第3部分常用指令和寻址方式,简单的算术运算,ADD dest, source SUB dest, source INC dest DEC dest 操作数的类型一定要一致 对标志寄存器起作用,源操作数 可以为常数,存储器地址,通用寄存器 目标寄存器 可以为通用寄存器或者存储器地址 不能同时为操作数,懊梨扫嘘匀采瘟久欠掐给混泰须画著显虹悉舌色晋帘咸某隧密猫弛痹海秒第3部分常用指令和寻址方式第3部分常用指令和寻址方式,2 寻址方式,Assembly Language Programming,诛妆硅局来顷懒梆丢呆敷缘郴黍骸穷白率讨盈且俗酪荚珊遂饰台臻锄聪记第3部分常用指令和寻址方式第3部分常用指令和寻址方式,寻址方式,寻址方式定义了: 操作数获取数据的方法 将数据放置到目的的方法 操作数的数据来源主要有: 来自寄存器寄存器模式 来自指令立即寻址模式 来自存储器存储器模式 直接寻址 直接偏移量寻址 寄存器间接寻址 基址位移量寻址 基址变址寻址 带位移量的基址变址寻址,如勿又地更惠房兄肢哈茧酚遗涅鸣豹讣诌翁狮旦青乏淤盅座壕稠嵌滋辈椿第3部分常用指令和寻址方式第3部分常用指令和寻址方式,寄存器寻址,格式: 寄存器的名称 允许的寄存器:任何寄存器 操作数:寄存器中的数据值 举例: ADD AX, BX MOV AL, A CS 不能用 MOV 指令改变 MOV CS, AX 错,粘吏江醒怜叶赶巾闽蛀芝仰腐秤帽柄准威散猴掏努埋权影篆府俭拘瞬焙焙第3部分常用指令和寻址方式第3部分常用指令和寻址方式,立即数寻址,格式:各种常数值 举例: ADD AX, 124 ADD AH, 12H,歹忽吐锻虱何娩铝脾示肤惋最森涧纤粱滓肉揭紫茅语枯怖嗓茹扯度泽胎底第3部分常用指令和寻址方式第3部分常用指令和寻址方式,存储器寻址,有效地址:地址是由操作数所决定的,不同的模式决定了不同的地址计算方法 直接寻址 直接偏移量寻址(相对直接寻址) 寄存器间接寻址 基址偏移量寻址 基址变址寻址 带偏移量的基址变址寻址,届钡条婉爽睫儡债摸场羚彦疯坎纤喧旷惟习辕顷较可幸藐垮之地志丙迷撤第3部分常用指令和寻址方式第3部分常用指令和寻址方式,TITLEA06IMMED (EXE) Example of immediate operands .MODEL SMALL .STACK 64;Define stack .DATA;Define data segment DB Immediate Values BYTEFLDDB 150;Byte WORDFLDDW 300;Word DWDFLDDD 0;Doubleword .386 .CODE MAINPROC FAR MOV AX,data;Set address of data MOV DS,AX; segment in DS MOV CX,325;Move immediate ADD CX,150;Add immediate SUB BYTEFLD,50;Subtract immediate MOV WORDFLD,40H;Move immediate MOV EDX,40H;Move immediate ADD EDX,25H;Add immediate MOV DWDFLD,EDX MOV AX,4C00H;End processing INT 21H MAINENDP END MAIN,熟慢患委药呼糠荆莉倪若腊缕锗兔隘棚些坝盘体竟抱茬坤履慎筷考聂僵佬第3部分常用指令和寻址方式第3部分常用指令和寻址方式,1 直接(存储器)寻址,格式:在数据段中定义的数据变量的名称 有效地址EA的计算:默认情形下数据段DS+变量地址,50,30,32000,AH AL,30,50,(AX) = 3050H,举例 VAR1 DW 3050H MOV AX, VAR1,假设: VAR1的偏移地址为2000H, (DS)=3000H, 那么物理地址=32000H,寄谎羽究谗擂览借镇烃波椎桶赐碟胜双贰稻绍璃胜拖奋趾避穴贩骏武腆帆第3部分常用指令和寻址方式第3部分常用指令和寻址方式,说明,隐含的段为数据段 DS 可指定段跨越前缀 MOV AX, ES: 2000H 操作数地址可由变量(符号地址)表示, 但要注意变量的属性 VALUE DB 10 MOV AH, VALUE MOV AX, VALUE MOV AX, WORD PTR VALUE ,叮打懂泰棒敢热存窗扭丰酚居烦殴赢姜任雏磺限肝颠如观粗芝刺炎嫩忠畦第3部分常用指令和寻址方式第3部分常用指令和寻址方式,直接偏移量寻址,格式: nameoffset 或者 name+offset 有效地址:变量的地址加上偏移量加上数据段的地址DS:(address+offset) 举例: ARRAY1 DW 10 DUP(?) . ADD AX, ARRAY12 ADD BX, ARRAY1+6,耗旨读熔恭讫砾酶滋鸟眨粉争泉坯栽以下鹏论势篱某阉蒲投纠贩防镜脱辰第3部分常用指令和寻址方式第3部分常用指令和寻址方式,(寄存器)间接寻址,格式: register 允许的寄存器: BX, DI, SI, BP EA:DS:BX, DS:DI, DS:SI, SS:BP 举例: VAR1 DW 125 VAR2 DW 23H LEA BX, VAR1 MOV BX, VAR2,抓费雄石噎挂免泪陨瞩犊坊桩上逻潞呈猫陋遮柱孙匈桩俄桃妻揉喻呸庄檀第3部分常用指令和寻址方式第3部分常用指令和寻址方式,基址偏移量寻址,格式: register + offset, offsetregister 允许的寄存器:BX, DI, SI, BP EA: DS:(BX + offset), DS:(DI + offset), DS:(SI + offset), SS:(BP + offset) 举例: VAR1 DW 125 ARRAY1 DW 10 DUP(?) LEA BX, ARRAY1 MOV BX+3, VAR1 MOV BX+4, 2BX,它沥咐割寐盏攘媚断杰主淌秧冈萍伸刮碉耳诊求渤膛币怜孟学鸿糊放掂撼第3部分常用指令和寻址方式第3部分常用指令和寻址方式,基址变址寻址,格式: base-reg + index-reg base registers: BX 或 BP index register: DI 或 SI EA:DS:(base-reg + index-reg) 举例: MOV AX, BX DI 或 MOV AX, BX+DI 或 MOV AX, ES:BX SI,有效地址 =,(BX) (SI) (BP) (DI),+,铜之份傅盼报已退梧辞檄职古遣卧眺神仑丽诫蘸樟北渔烘伤起抠俄皂玻漫第3部分常用指令和寻址方式第3部分常用指令和寻址方式,带偏移量的基址变址寻址,格式: base-reg+ index-reg + offset 或者offsetbase-reg+index-reg base registers: BX 或者 BP index register: DI, SI EA:DS:(base-reg + index-reg + offset) 举例: MOV AX, MASK BX SI 或 MOV AX, MASK BX+SI 或 MOV AX, MASK+BX+SI,有效地址 =,(BX) (SI) 8位 (BP) (DI) 16位,+,+,位移量,汐隆杯瘪骄乱粉郸蔑闸崭娟买临把网喧气挑爽涕锤框酪损挤乘惨袜疟躺绎第3部分常用指令和寻址方式第3部分常用指令和寻址方式,段跨越前缀,数据段默认地址存放在CS寄存器中,不需指明 若明确指明使用其它的数据段,称为段前缀。例如 MOV AX, ES:BX MOV AX, ES:BX+3,且头渤劫奠集惮抠迈辕肺蚜鹰伐窖阑曰黍蛋挛匿醇饿寇基天你瑟棠劲凹痕第3部分常用指令和寻址方式第3部分常用指令和寻址方式,3 逻辑运算指令,Assembly Language Programming,浚柜乱录潦赏坑符试吻馅未烧惰纤碌挛原恃惰氯晶舶贪菲就篷虚工个俱命第3部分常用指令和寻址方式第3部分常用指令和寻址方式,布尔数据,只需1位表示:0 或者 1 0 = FALSE 1 = TRUE 布尔运算 一元: NOT 二元: AND, OR, XOR,灼蚌骚划傀漳广低瑶破逮速虱盂脊黎云耻鹅努吹秤允庞隅裁氮引颓剐粪熏第3部分常用指令和寻址方式第3部分常用指令和寻址方式,NOT vs. NEG,NOT destination Register or memory 01, 10 ,用于无符号数 不影响标志寄存器 NEG destination 实现二进制补码,按位求反加1把正数转换为负数;或者反之。 用于有符号数,潜吗刃激滤霍援说抢驼袱阮奴渔脾丈葵宙邹耘立俞旋操亭责栈栽栖佳茸盟第3部分常用指令和寻址方式第3部分常用指令和寻址方式,AND, OR, XOR,AND|OR|XOR destination, source reg, reg|mem|immed mem, reg|immed 操作对标志位SF, ZF, PF有影响, CF=OF=0 x AND y = 1 x = y = 1 x OR y = 0 x = y = 0 x XOR y = 0 x = y,尿您幅铬懒挡而坝奔把穿茅鼻访壳橡攀而矛狸小临舵扣汝镁汽饺壳躁务拧第3部分常用指令和寻址方式第3部分常用指令和寻址方式,AND的应用,某一位清0 ANDAH, 01111111B 将第7位清0,而其它的位保持不变 部分清0 ANDAX,000Fh 将AX的低4位部分保留,其余清0,苹抒惟馋佣酞属战罢钨仗徽崇纽港胞萌斌翅已讨晾悍蜗纶洗带搏砖龋毗坦第3部分常用指令和寻址方式第3部分常用指令和寻址方式,NumLock设置关闭,;clear bit 5 in keyboard status byte mov ax,40h mov ds,ax ;set DS mov bx,17h ;byte ptr and byte ptr bx,0DFh,键盘状态对应的字节地址:数据段0040:0017,bit 3 = Alt Pressed bit 2 = Ctrl Pressed bit 1 = Left Shift bit 0 = Right Shift,bit 7 = Insert Mode bit 6 = Caps Lock bit 5 = Num Lock bit 4 = Scroll Lock,哥雀咬缚谭用柄拣抓琴秧以诀育诧揍野笛刃汕克尿测菠祥毕阔琅莹峪贩候第3部分常用指令和寻址方式第3部分常用指令和寻址方式,OR的应用,设置某一位 ORBX, 0400h 将BX的第10位设置1,其余保留 Checking the value of certain bit ORAX,AX 该指令不改变AX的值,只是设置标志寄存器 第15位符号位 (JS, JNS, JG, JGE, JL, JLE) ZF=1 AX=0 (JZ, JNZ),喊尿须刮啦钙件棉佯芳舷肩顽扔茹腐奋若烦埂旁车寓蝉欠沉丙茶谚揣夺毅第3部分常用指令和寻址方式第3部分常用指令和寻址方式,数据变换,;DL 中为数字 0-9 OR DL,00110000b ;DL 中为字符 0-9 大小写字符的区别在于第 5 位 (1=lowercase) ;AH contains letter (a-z,A-Z) OR AH,00100000b ;AH is now lower case,ASCII for digit x (0-9) is 3x 设置数字x的对应的第4位和第5位,将其转换为字符,芝羔抠螺炔胃扩义隋帜润炊岂鄙朝佯四吼心凝问宛割捐耘渴臀敞拯狄匹扑第3部分常用指令和寻址方式第3部分常用指令和寻址方式,XOR的应用,位的翻转 XOR AH, 10000000B 只将AH的第7位改变 字节或字清0 XOR AX, AX 将AX清0 加密或解密 XORAL, Key ;encrypts/decrypts byte in AL,决皮瑶越庚炔豆卞幕尼纹闯徊燥湖冷液眉壕睁篓圭阴锗制被朋塌厦洼畅贝第3部分常用指令和寻址方式第3部分常用指令和寻址方式,TEST,TEST destination, source 执行AND的操作,只是不改变数据的值 标志位如同AND一样被设置 Example1 TEST CX, 0FFH JZ exit ;是0吗 TEST BL, 00000001b JNZ exit ;是奇数吗 Example2 TEST CL, 10000001b JZ EvenAndNonNegative ;一定为非负的偶数 JS Negative ;一定为负数 ;一定为正奇数,契剪捂虏沮羔睹狡悍玉之服窃悯腔心保符扦缘责憎漱仙绷筐覆谷炭嫉棺千第3部分常用指令和寻址方式第3部分常用指令和寻址方式,例:屏蔽AL的第0、1两位 AND AL, 0FCH 例:置AL的第5位为1 OR AL, 20H 例:使AL的第0、1位变反 XOR AL, 3 例:测试某些位是0是1 TEST AL, 1 JZ EVEN,* * * * * * * * OR 0 0 1 0 0 0 0 0 * * 1 * * * * *,* * * * * * 0 1 XOR 0 0 0 0 0 0 1 1 * * * * * * 1 0,* * * * * * * * AND 1 1 1 1 1 1 0 0 * * * * * * 0 0,* * * * * * * * AND 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 *,举例,唱驹梁膀渐蒸漠磁酱横咱馁沥虽拜篡简儿萄籍百辟孜焊董飘彦翘晴磁平厌第3部分常用指令和寻址方式第3部分常用指令和寻址方式,移 位,逻辑移位无符号数的移位 向左移位SHL 向右移位SHR 算术移位有符号数的移位 向左移位SAL 向右移位SAR,巷十访械竭宅负截桅曳狱娥祥构外至柜殿杰哼疟挠宫杆奏虏搪讽熟厩从密第3部分常用指令和寻址方式第3部分常用指令和寻址方式,指令格式,格式 Op destination, 1 或 Op destination, CL ;进行n次移位 (n在CL中) destination 是8或16位寄存器或者存储器地址 当次数大于1时,必须使用CL 操作对符号位的影响 SF, PF 和 ZF 根据结果设置 CF 保存最后移出的位 OF = 1 说明溢出,当符号位发生改变时,特用敌弓写啼萝绒旗海龟婶示对吼毗唆艳癸嘉驴啃侍兢枫芽核亏铸祟俱饮第3部分常用指令和寻址方式第3部分常用指令和寻址方式,向右移位SHR/SAR,逻辑右移SHR 各个位依次右移,右边补0 算术右移SAR 符号位保留不动依次右移,右边补符号位值,CF,S,0,CF,湛禽直暑荧式泅声鲜鹏雏现恒军励清温兽遮箕骆哄布俞窗痊嘻屈拧抗砚历第3部分常用指令和寻址方式第3部分常用指令和寻址方式,举例,SHR 指令 注释 二进制 十进制 CF MOV BH, 10110111B ;初始化BH 10110111 183 SHR BH, 1 ;右移1位 01011011 91 1 MOV CL, 2 ;设置移位值 SHR BH, CL ;再右移2位 00010110 22 1 SHR BH, 2 ;再右移2位 00000101 5 1 SAR 指令 注释 二进制 十进制 CF MOV BH, 10110111B ;初始化BH 10110111 -73 SHR BH, 1 ;右移1位 11011011 -37 1 MOV CL, 2 ;设置移位值 SHR BH, CL ;再右移2位 11110110 -10 1 SHR BH, 2 ;再右移2位 11111101 -3 1 注:右移一次相当于二等分数据值,霹贫裹鞍墩谅苔狞堰曳妓蛛吴戴梗惰浇腑娃怜妒殖鸥何闷涟驯骚骤略舀援第3部分常用指令和寻址方式第3部分常用指令和寻址方式,向左移位SHL/SAL,逻辑左移SHL和算术左移SAL是相同的 各个位依次左移,右边补0,CF 0,指令 注释 二进制 十进制 CF MOV BH, 00000101B ;初始化BH 00000101 5 SHL BH, 1 ;左移1位 00001010 10 0 MOV CL, 2 ;设置移位值 SHL BH, CL ;再左移2位 00101000 40 0 SHL BH, 2 ;再左移2位 10100000 160 1 注:左移一次相当于加倍数据值,窟逼夷贡光丑藐盒淋里恰辕谁饵敷绩捻向蛤涩豆债崇撇柠档施破万体腹桌第3部分常用指令和寻址方式第3部分常用指令和寻址方式,Multiplication by 5,;Assume AX contains a number N to be multiplied by 5 MOV DX,AX;DX=N also SHL AX,1;AX=2N SHL AX,1;AX=4N ADDAX,DX;AX=4N+N=5N 该执行比乘法要快一些,每次移位,需要通过OF或者CF检查数据的溢出,输爸销厘秒器拉勾斋秸暗谈明斯滴佃氯样领垢极盐油念挝臃窘质族豺汞恰第3部分常用指令和寻址方式第3部分常用指令和寻址方式,循环移位,格式不变 循环移位指令不影响SF、ZF、PF、AF,而对,CF = 移入的数值 1 CNT=1时,最高有效位的值发生变化 0 CNT=1时,最高有效位的值不变,OF =,俊距酌徽敖士抽谗讫碌惟郎浩戳饿增蛔桐旷帆手嘎蓝键须抖祥蔷趋镭葫廓第3部分常用指令和寻址方式第3部分常用指令和寻址方式,ROR循环右移,ROR循环右移,CF,指令 注释 二进制 CF MOV BH, 10110111B ;初始化BH 10110111 ROR BH, 1 ; 移1位 11011011 1 MOV CL, 2 ;设置移位值 ROR BH, CL ;再移2位 111101101,胯毙包胚厦撇应埃朝怕歪敌兹耐泌彦东宗奉诊盒寥盖裂耘墨昆锯捎淖楼繁第3部分常用指令和寻址方式第3部分常用指令和寻址方式,带符号位的循环右移,RCR,指令 注释 二进制 CF MOV BH, 10110111B ;初始化BH 101101110(假设) RCR BH, 1 ; 移1位 01011011 1 MOV CL, 2 ;设置移位值 RCR BH, CL ;再移2位 110101101,CF,念伴趁压糕撤广恢剥签冲棘突拜济康脊耘窟烈鸥糟脂柳郭翘陋畴孽办境诛第3部分常用指令和寻址方式第3部分常用指令和寻址方式,循环左移,同上 ROL RCL,CF,CF,简札絮防匹棚汹钝穴缆霄偷帆游邵读姬咯柑盗畏陨品拄推只腺睬碘嗅扳所第3部分常用指令和寻址方式第3部分常用指令和寻址方式,4 比较指令,Assembly Language Programming,映沛辅滥咋窃熬束叠胃属柒褒盅墒溅披坡潭兽渍芥靶快绑牛帐箕娠谭呆托第3部分常用指令和寻址方式第3部分常用指令和寻址方式,CMP,格式 label: CMP reg/mem, reg/mem/imm 动作 第一个操作数比较第二个操作数的大小,例如高于,等于,低于。 同SUB一样,只是任何操作数不发生改变 标志寄存器的影响(主要是ZF),常用于判断程序执行的逻辑控制,鸵挨尉棍姜害彭搜钳瞄越椽苏舔纳弄绎巴穆便邵损返溜荡墅窥侨栗敬让栗第3部分常用指令和寻址方式第3部分常用指令和寻址方式,举例,CMP BX, CX JE L10 L10: ,瓢蜂系岸措祷群蕴打碳沃琐关操纂澈胳虎板摈飞亿芯挟尊虫涩叠禄么肚够第3部分常用指令和寻址方式第3部分常用指令和寻址方式,

    注意事项

    本文(第3部分常用指令和寻址方式.ppt)为本站会员(京东小超市)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开