已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 2 3节目录2 3 1 2 3 3 位 位操作指令1 逻辑运算指令AND OR XOR NOT TEST2 移位指令SHL SHR SAL SAR3 循环移位指令ROL ROR RCL RCR 2 2 3 1逻辑运算指令 1 1 逻辑运算指令1 与运算指令ANDANDreg mem immANDreg mem reg mem 排除操作数 mem mem 注释 操作数格式同加减法指令 设置CF OF 0 影响SF ZF PF 对AF无定义 与 操作的特点与AND指令的主要作用 X 0 0 X 1 X 使某些位清0 屏蔽某些位 X X X 影响标示位 SF ZF PF CF OF 0 例 ANDAL 01H 屏蔽AL的D7 D1 保留D0ANDAL AL 清除CF OF或设置标志 AND 3 2 或运算指令OR注释 指令格式 标志设置同AND指令 或 操作的特点与OR指令的主要作用 X 0 X X 1 1 使某些位置1 X X X 影响标示位 SF ZF PF CF OF 0 例 ORBL 0F0H 使BL高4位置1 低4位不变ORAX 8080HORBL BL 清除CF OF或设置标志 OR 4 3 异或运算指令XOR注释 指令格式 标志设置同AND指令 异或 操作的特点与XOR指令的主要作用 X 0 X X 1 X 对特定位 求反 X X 0 将寄存器清0 影响标示位 SF ZF PF CF OF 0 例 XORAL 0FH AL高4位不变 低4位求反XORCL 55H CL偶数位求反 奇数位不变XORAX AX 将AX置0 CF OF 0XORBX BX 将BX置0 CF OF 0 XOR 5 逻辑运算指令 2 4 测试指令TEST注释 指令格式及运算均与AND指令相同 但是不保留运算结果 即不影响目的操作数 只根据运算结果设置标志且CF OF 0 测试指令TEST的作用 不改变操作数 测试操作数或操作数的指定位 例如 INAL PORT 从端口PORT输入数据TESTAL 00101010B 测试第1 3 5位JNZNEXT 任一位不为0 则转移到NEXTNEXT TEST 6 5 非运算指令NOTNOTreg mem 不能是立即数 dst 0FFH dst 字节求反 dst 0FFFFH dst 字求反 注释 不影响任何标志 例 MOVAX 3080HNOTAX AX 综上所述 五条逻辑操作指令中 只有NOT指令不影响任何标志 其它四条指令 AND OR XOR TEST 都对标志位有影响 且CF OF 0都成立 NOT 7 表4 5大写和小写英文字母ASCII码的对比 8 以下几条指令判断从键盘输入的字符是否为 Y 但对键入的字符大写或小写不加区别 同样对待 MOVAH 1 接收由键盘输入的一个字符INT21H 字符的ASCII码存ALANDAL 11011111B 屏蔽第5位 转换为大写字母CMPAL Y 字符是否为 Y JEYES 如是 转到YES 否则 YES 位操作目录 9 2 3 2移位指令 1 2 移位指令共四条指令 分成逻辑左移 算术左移 逻辑右移和算术右移 其中两条左移指令对应同一条机器指令 所以 从机器指令的角度来说 移位指令只有三条 符号位不变 10 移位指令 2 1 左移指令 逻辑左移 算术左移 一条指令 SHLreg mem 1 CL 操作数左移1位或CL规定的 位数 最低位补0 最高位进CF SALreg mem 1 CL 同SHL2 右移指令 逻辑右移SHR 算术右移SAR SHRreg mem 1 CL 操作数右移1位或CL规定的 位数 最高位补0 最低位进CF SARreg mem 1 CL 操作数右移1位或CL规定的 位数 最高位不变 最低位进CF 演示 演示 演示 11 移位指令 3 注释 标志设置AF 对AF无定义 CF 按移入的值或为0或为1 根据移位后的结果设置SF ZF PF OF 当移动1位时 移位后如果符号位 最高位 发生变化 比较移位前后 则OF 1 符号位不发生变化 则OF 0 移位次数大于1时 OF不定 操作数左移一位 相当于乘2 对有符号数同理 只要OF 0 结果就对 12 移位指令 4 end 操作数逻辑右移 SHR 一位 相当于无符号数除以2 操作数算术右移 SAR 一位 相当于有符号数除以2 指令举例SHLAX 1SARBYTEPTR BP SI 1SHRBH 1SARAL 3 MOVCL 3SARAL CL 13 例4 8将一个16位无符号数乘以10 该数原来存放在以FACTOR为首地址的两个连续的存储单元中 低位在前 高位在后 因为FACTOR 10 FACTOR 8 FACTOR 2 故可用左移指令实现以上乘法运算 编程如下 MOVAX FACTOR AX 被乘数 设 AX 1234H SHLAX 1 AX FACTOR 2MOVBX AX 暂存BXSHLAX 1 AX FACTOR 4SHLAX 1 AX FACTOR 8ADDAX BX AX FACTOR 10HLT以上程序的执行时间大约需26个时钟 如用乘法指令编程 执行时间将超过130个时钟 14 用乘法指令编程 a138B 0100movax 1234 movax factor 138B 0103movbx 000a138B 0106mulbx138B 0108 g 01000108AX B608BX 000ACX 0000DX 0000 15 例4 9将一个16位无符号数除以512 该数原来存放在以DIVIDAND为首地址的两个连续的存储单元中 MOVAX DIVIDANDMOVCL 9SHRAX CLHLT 16 课堂练习 分别写出下列程序片段的执行结果和CF OF的状态 1 MOVAL 78HSHLAL 12 MOVCL 2MOVAL 94HSHRAL CL3 MOVAL 96HSARAL 1 AL FOH CF 0 OF 1 AL 25H CF 0 OF 不定 AL CBH CF 0 OF 0 位操作目录 17 2 3 3循环移位指令 1 2 3 3循环移位指令小循环 不带进位 左移 ROL 和右移 ROR 大循环 带进位 左移 RCL 和右移 RCR 18 循环移位指令 2 end 1 小循环移位指令ROL RORROLreg mem 1 CL 左移RORreg mem 1 CL 右移2 大循环移位指令RCL RCRRCLreg mem 1 CL 左移RCRreg mem 1 CL 右移例1 将DX AX中的32位数左移一位 SHLAX 1RCLDX 1移位指令和循环移位指令结合 可实现32位数乘2除2 演示 演示 演示 演示 19 课堂练习 分别写出下列程序片段的执行结果 1 MOVAL 93HROLAL 1ROLAL 12 MOVCL 2MOVAL 93HRORAL CL3 CLCMOVAL 93HRCLAL 1 AL 27H AL E4H AL 26H 位操作目录 AL 4EH 4 CLCMOVAL 93HRCRAL 1RCRAL 1 49H A4H 20 2 4节目录 4 3 5控制转移类指令1 转移指令1 无条件转移指令2 条件转移指令2 循环控制指令3 子程序调用及返回指令4 中断控制指令4 3 6处理器控制指令系统功能调用 21 2 4 1无条件转移指令 1 1 无条件转移指令 JMP 1 段内转移 直接寻址JMPSHORTLABEL IP IP 8位偏移量JMPNEARPTRLABEL IP IP 16位偏移量注释 指令中 LABEL 称为 标号 是某一条指令的名字 其物理意义为指令在内存中的偏移地址 段内 不改变段寄存器 在当前代码段内 只改变指令指针寄存器 直接寻址 汇编指令中直接给出了转移目标的地址 但从指令的操作来说 应属相对寻址 22 7F 34 7F 24 JMTONE NEXT 例 JMTONE JMPNEXTJMTONE 2 ANDAL 7FHNEXT XORAL 7FH JMTONE 2 EBH 偏移量02H 13F2 0005EB02JMP000913F2 0007247FANDAL 7F13F2 0009347FXORAL 7F 位移量 8位 23 短转移的转移范围 短转移的转移范围 相对于JMP的下一条指令 转移范围为 128 127 相对于JMP指令 转移范围为 126 129 近转移 相对于JMP的下一条指令 转移范围为 32768 32767 32765 32770 指令举例 JMPSHORTL PRO1 短转移 目标指令为L PRO1JMPNEARPTRL PRO2上面的两例中SHORT和NEAR可不加 24 无条件转移指令 2 2 段内转移 间接寻址JMPr16 m16 IP r16或IP m16指令举例JMPSI IP SI 通过寄存器间接给出指令偏移地址 JMPBX IP BXJMPWORDPTR BX 通过存储器间接给出指令的偏移地址 而存储器寻址方式为寄存器BX间接寻址 JMPWORDPTR BP DI 20H 25 无条件转移指令 3 3 段间转移 直接寻址JMP FARPTR LABEL IP LABEL的偏移地址 CS LABEL的段地址注释 LABEL 是位于另一个代码段的某一条指令的名字 另外 指令中的 FARPTR 可以省略 因为汇编程序可以自动识别 LABEL 与相应的 JMP 指令是否在同一代码段内 从而产生段内或段间转移指令的机器代码 CODE2SEGMENTCODE1SEGMENT PRO1 MOV JMPFARPTRPRO1 CODE1ENDSCODE2ENDS 26 无条件转移指令 4 end 4 段间转移 间接寻址JMPFARPTRmem JMPDWORDPTRmem IP mem CS mem 2 注释 通过存储器的一个双字单元提供转移目标的段地址和偏移地址 低位字为偏移地址 高位字为段地址 JMPDWORDPTR BX DI DS 4000H BX 1230H DI 02H计算物理地址 40000H 1230H 2 41232H 返回 78 27 REPNESCASB 如未找到 重复扫描JZMATCH 如找到 则转MATCHMOVDL N 字符串中无回车 则 DL N JMPDSPY 转到DSPYMATCH DECDI DI DI 1MOVDL Y DL Y DSPY MOVAH 02HINT21H 显示字符HLT 无条件转移与条件转移举例 28 2 4 2条件转移指令 1 2 条件转移指令概述 条件转移指令的通用格式为 Jcclabel如条件满足 则发生转移 IP IP 8位偏移量如条件不满足 则不转移 顺序执行下条指令 所有的条件转移指令均为两字节机器指令 第2字节为8位偏移量 因而转移范围与 JMPSHORT 指令相同 指令中的条件即为状态标志的状态或状态的组合 8086CPU共有16种可用的条件 使用这些条件的条件转移指令可分成三类 29 30 条件转移指令 2 1 判断单个状态标志助记符标志说明JZ JEZF 1结果为0 两数相等JNZ JNEZF 0不为0 不相等JC JB JNAECF 1加有进位 减有借位 其他JNC JNB JAECF 0无进位 无借位 其他JSSF 1结果为负JNSSF 0结果为正JP JPEPF 1结果的低8位含偶数个 1 JNP JPOPF 0结果的低8位含奇数个 1 JOOF 1运算结果溢出JNOOF 0运算结果不溢出 JCXZ CX 0 串操作是否处理完所有数据 31 条件转移指令 3 指令举例1 计算X Y X和Y为16位操作数 结果存入result MOVAX X SUBAX Y JNSNO NEG X Y 如为正数 不求绝对值NEGAX 求绝对值NO NEG MOVresult AX 保存结果2 设字符的ASCII码在AL 给字符加上奇校验位 ANDAL 7FH D7置0 D6 D0不变 测 1 个数JNPNEXT D6 D0已有奇数个 1 不处理ORAL 80H 偶数个 1 校验位置 1 NEXT 32 2 比较无符号数高 低 条件为一个标志或标志组合 助记符标志说明JB JNAE JCCF 1低于 不高于不等于 JNB JAE JNCCF 0不低于 高于或等于 JBE JNACF 1或ZF 1低于或等于 不高于 JNBE JACF 0且ZF 0不低于不等于 高于 指令举例 AX和BX为无符号数 比较大小 将较大的数放入AX中 CMPAX BX JNBNEXT 如AX BX 不处理XCHGAX BX AX BX AX与BX交换NEXT Above Below 33 3 比较有符号数大 小 条件为标志组合 助记符标志说明JL JNGESF OF且ZF 0小于 不大于且不等于 JNL JGESF OF不小于 大于或等于 JLE JNGSF OF或ZF 1小于或等于 不大于 JNLE JGSF OF且ZF 0不小于且不等于 大于 指令举例 AX和BX为有符号数 比较大小 将较大的数放入AX中 CMPAX BX JNLNEXT 如AX BX 不处理XCHGAX BX AX BX AX与BX交换NEXT 返回 Great Less 34 2 4 3循环控制指令 1 2循环控制指令循环结构是程序设计中使用最多的一种结构 为了方便和简化设计循环程序 8086提供了三条专用的循环控制指令 LOOPlabel 先减1后判断 CX 0 循环下同 否则退出LOOPZ LOOPFlabel CX 0且ZF 1 循环 否则退出LOOPNZ LOOPNElabel CX 0且ZF 0 循环 否则退出 示意图 35 循环控制指令 2 end 程序举例 统计ES段中string字符串包含空格的个数 设字符串的长度为count字节 结果存入result单元 MOVCX COUNTMOVSI OFFSETSTRING 取偏移地址XORBX BX 记录空格数目JCXZDONE 字符串长度为0 退出MOVAL 20H 空格的ASCII码AGAIN CMPAL ES SI JNZNEXT 不是空格 不计数INCBX 是空格 计数NEXT INCSI 调整指针 指向下一个LOOPAGAIN 字符个数减一 不为0 继续循环DONE MOVRESULT BX 返回 36 2 4 4子程序调用及返回指令 1 3 子程序调用及返回指令 断点保护 子程序是常用的程序结构 采用子程序可以提高编程效率 使程序结构更为清楚 便于维护 1 子程序调用指令CALL 断点进栈 CALL指令位于主程序 CALL调用的子程序与CALL指令可以处于同一代码段内 也可以在不同的代码段 因而分段内调用和段间调用 调用时可以采用直接寻址 也可采用间接寻址 故调用指令有四种格式 段内直接调用 段内间接调用 段间直接调用 段间间接调用 指令中 nearptr 表示段内调用 farptr 表示段间调用 但是由于汇编程序可自动识别 段内 和 段间 故可省略 37 图5 11子程序嵌套示意图 38 子程序调用及返回指令 2 CALLnearptrlabel 段内直接调用 SP SP 2 SS SP IP IP IP D16CALLr16 wordptrm16 段内间接调用 SP SP 2 SS SP IP IP r16 m16CALLfarptrlabel 段间直接调用 SP SP 2 SS SP CS CS label段地址 SP SP 2 SS SP IP IP label偏移地址 CALLdwordptrmem 段间间接调用 SP SP 2 SS SP CS CS mem32 2 SP SP 2 SS SP IP IP mem32 39 子程序调用及返回指令 3 CALL指令举例CALLNEARPTRSUB PRO1 CALLSUB PRO1 CALLBX r16 通过寄存器间接给出子程序偏移地址CALLWORDPTR BX mem16 通过存储器的字单元间接给出子程序偏移地址 字单元为寄存器间接寻址 CALLWORDPTR BP SI 2050H mem16CALLfarptrsub pro callsub pro CALLFARPTRBX CALLFARPTR BX CALLDWORDPTR BX 通过存储器的双字单元间接给出子程序地址 双字单元为寄存器间接寻址 低位字为子程序偏移地址 高位字为子程序段地址 40 子程序调用及返回指令 4 2 子程序返回指令RET返回指令为子程序最后执行的指令 作用为断点出栈 返回相应CALL指令的下一条指令 根据子程序与主程序是否同处于一个代码段内 返回指令分为段内返回和段间返回 两类指令的助记符相同 由汇编程序加以区分 并产生不同的机器指令 RET IP SS SP SP SP 2 恢复断点 RETi16 IP SS SP SP SP 2 SP SP i16RET IP SS SP SP SP 2 CS SS SP SP SP 2RETi16 IP 出栈 CS 出栈 SP SP i16 41 子程序调用及返回指令 5 注释 带立即数的返回指令 主程序与子程序使用堆栈传递参数时 当从子程序返回主程序 SP i16 用以释放参数所占的堆栈单元 所谓正确使用堆栈 通常是指使用了几条 PUSH 指令 就应使用相同条数的 POP 指令 堆栈中既不应 残留 数据 也不应 超额 使用 否则 断点不能正确恢复 例如 子程序中使用了4条PUSH指令 应有4条POP指令与其相配 如只有3条POP 为 残留 如用了5条POP 则为 超额 都会造成错误 42 子程序调用及返回指令 6 end 子程序举例将AL低4位的十六进制数转换成ASCII码 4位二进制数表示成十六进制数为0 9 A F 0 9的ASCII码为30H 39H 对0 9直接加30H 即得到其ASCII码 如4位二进制数为1010 A 则A的ASCII码为0AH 30H 07H 主程序MOVAL XXHCALLH2ASCMOVBX 1234H 子程序H2ASC ANDAL 0FHORAL 30HCMPAL 39HJBEH2ENDADDAL 07HH2END RET 是A F 是0 9 返回 43 1 处理器控制指令1 标志位操作指令标志位操作指令有以下7种 CLC CLearCarryflag 清进位标志 指令的操作为 CF 0 STC SeTCarryflag 置进位标志 指令的操作为 CF 1 CMC CoMplementCarryflag 对进位标志求反 指令的操作为 CF CF CLD CLearDirectionflag 清方向标志 指令的操作为 DF 0 4 3 6处理器控制指令 44 STD SeTDirectionflag 置方向标志 指令的操作为 DF 1 CLI CLearInterruptflag 清中断允许标志 指令的操作为 IF 0 STI SeTInterruptflag 置中断允许标志 指令的操作为 IF 1 执行这条指令后 CPU将允许外部的可屏蔽中断请求 这些指令仅对有关状态标志位执行操作 而对其他状态标志位则没有影响 45 2 外部同步指令 1 HLT HaLT 指令格式 HLT执行HLT指令后 CPU进入暂停状态 HLT指令对状态标志位没有影响 2 WAIT 指令格式 WAIT如果8086 8088CPU的TEST引脚上的信号无效 即高电平 则WAIT指令使CPU进入等待状态 一个被允许的外部中断或TEST信号有效 可使CPU退出等待状态 该命令的作用是使CPU本身与外部的硬件同步工作 46 3 交权指令ESC 将浮点指令交给浮点处理器 多处理器指令 4 单字节指令封锁前缀指令LOCK 有相应引脚LOCK 例如 LOCKMUL工作在8086最大工作方式时 在其有效期间 禁止其它处理器对总线进行访问 5 空操作指令NOP运行时不执行任何操作 但占用3个时钟周期 47 目录1 6 串操作 4 3 4串操作指令 串 在存储器中连续排列的一组数据 称为数据串 对数据串进行操作的指令称为串操作指令 1 串传送指令2 串存储指令3 串读取指令4 串比较指令5 串扫描指令6 重复前缀指令 48 串操作 1 传送 1 串传送指令MOVSB 字节传送 ES DI DS SI SI SI 1 DI DI 1 自动修改地址 MOVSW 字传送 ES DI DS SI SI SI 2 DI DI 2 自动修改地址 注释 1 源数据串可以段跨越 目的串不可 2 DF 0 地址指针 1或 2 DF 1 指针 1或 2 3 一般不使用格式MOVS目的串名 源串名 4 不影响标志 演示 演示 49 以下表示方法是合法的 MOVSDATA2 DATA1 操作数类型应预先定义MOVSBUFFER2 ES BUFFER1 源操作数进行段重设MOVSWORDPTR DI SI 用变址寄存器表示操作数MOVSB 字节串传送MOVSW 字节串传送但以下表示方法是非法的 MOVSBDEST ES SRC MOVSB或MOVSW后不能再写操作数 50 串操作 2 例2 52 将数据段source指示的100个字节传送到本段dest指示的区域 movax dsmoves ax 使ES和DS指向同一个段movsi offsetsourcemovdi offsetdestmovcx 100cldLoopm movsbdeccxjnzloopm loopm movsblooploopm movcx 50cldloopm movsw 51 串操作 3 传送方向 1 可正向 也可反向 2 只能正向 3 只能反向 如右图 52 串操作 4 存串 2 串送存指令STOSB ES DI AL DI DI 1STOSW ES DI AX DI DI 2注释 1 经常用来初始化一段内存区域 2 串为目的操作数 3 不影响标志 例2 53 将附加段64KB全部清为0 movax 0movdi 0movcx 8000h 8 16 16 16 32768 32K cldLop stoswdeccxjnzlop 演示 53 串操作 5 读串 比较 3 串装入指令LODSB AL DS SI SI SI 1LODSW AX DS SI SI SI 2注释 数据串为源操作数 不影响标志 4 串比较指令CMPSB DS SI ES DI SI SI 1 DI DI 1CMPSW DS SI ES DI SI SI 2 DI DI 2注释 1 比较两个数据串是否相等 2 按减法设置标志 都有影响 特别是ZF 演示 54 串操作 6 搜索 重复前缀 5 串扫描指令SCASB AL ES DI DI DI 1SCASW AX ES DI DI DI 2注释 1 从数据串中搜索一个数据 被搜索的数据称为关键字 放入AL或AX寄存器 2 按减法规律设置标志 特别是ZF 6 重复前缀指令 不能单独使用 只能附加在串操作指令前面 使串操作重复执行 三个重复前缀 分为两类 1 REP2 REPZ REPE和REPNZ REPNE 55 串操作 7 REP 1 REP 与MOVS STOS LODS配合使用 REPMOVSB REPSTOSW 指令操作 如CX 0 退出串操作 CX 0 做下一步CX CX 1执行后跟的串操作指令回到第一步重复次数由CX控制 演示 演示 56 串操作 8 REPZ REPNZ 2 REPZ REPE REPNZ REPNE两条都与CMPS SCAS配合使用 REPZ REPNZCMPSB 57 串操作 9 前缀注释 注释 1 REPZ指令中的 Z 表示的是 ZF 1 而且 ZF 1 是重复串操作的必要条件 REPNZ中的 NZ 表示的是 ZF 0 而且 ZF 0 是重复串操作的必要条件 2 REP指令使串操作重复CX规定的次数 REPZ REPNZ使串操作的重复可能提前结束 观察ZF 3 注意重复前缀和循环控制指令的差别 LOOP先做CX减1 后判断 REP先判断 后减1 58 例4 10将数据段中首地址为BUFFER1的200个字节传送到附加数据段首地址为BUFFER2的内存区中 使用字节串传送指令的程序段如下 LEASI BUFFER1 SI 源串首地址指针LEADI BUFFER2 DI 目的串首地址指针MOVCX 200 CX 字节串长度CLD 清方向标志DFREPMOVSB 传送200个字节HLT 停止 59 串操作 10 例题 例2 57 比较两个字符串str1 str2是否相等 数据串长度为count 比较结果存入result单元 0表示相等 1 ffh 表示不等 movsi offsetstr1movdi offsetstr2movcx countcldrepzcmpsbjnzunmat 运行到该指令说明 CX 0或不相等moval 0jmpoutputunmat moval 0ffhoutput movresult al ZF 0 两串不同 60 串操作 11 注释 end 注释 LODS一般不与重复前缀连用 无意义 使用带重复前缀的串比较和串搜索指令指令时 REPZ和REPNZ的选择 对字符串比较 比较两个字符串是否相等 用REPZ 如相等 则继续比较 如遇到不等的数据则退出 如要求找出两串相等的位置 应使用REPNZ 两数据不等 继续比较 对串搜索来说 一般使用REPNZ 当前数据不是要找的 继续搜索 但有时也可能用到REPZ 如已知一个数据块应该都是0FFH 要查找其中是否有非FF 关键字 只能 用FF 重复前缀应使用REPZ 61 例4 14比较两个字符串 找出其中第一个不相等字符的地址 如果两个字符全部相同 则转到ALLMATCH进行处理 这两个字符串长度均为20 首地址分别为STRING1和STRING2 程序如下 LEASI STRING1 SI 字符串1首地址LEADI STRING2 DI 字符串2首地址MOVCX 20 CX 字符串长度CLD 清方向标志DF REPECMPSB 如相等 重复进行比较JZALLMATCH 若 ZF 1 说明是 CX 0退出 跳至ALLMATCHDECSI 说明是比较未完 找到不相等的退出DECDI DI 1HLT 停止ALLMATCH MOVSI 0MOVDI 0HLT 停止 62 MOVAH 02H AH DOS系统功能号 在屏幕上显示 MOVDL Y 59H DL 待显示字符Y的ASCII码INT21H 调用DOS的21H中断 在屏幕上显示一个字符的方法 详见本书第5章第5 5节的DOS系统功能调用部分 是 从键盘上键入一个字符并在屏幕上显示出来的方法 MOVAH 01HINT21H 63 例4 15在包含100个字符的字符串中寻找第一个回车符CR 其ASCII码为0DH 找到后将其地址保留在 ES DI 中 并在屏幕上显示字符 Y 如果字符串中没有回车符 则在屏幕上显示字符 N 该字符串的首地址为STRING 根据要求可编程如下 LEADI STRING DI 字符串首址MOVAL 0DH AL 回车符MOVCX 100 CX 字符串长度CLD 清状态标志位DF 64 REPNESCASB 如未找到 重复扫描JZMATCH 如找到 则转MATCHMOVDL N 字符串中无回车 则 DL N JMPDSPY 转到DSPYMATCH DECDI DI DI 1MOVDL Y DL Y DSPY MOVAH 02HINT21H 显示字符HLT 65 表4 6串操作指令的重复前缀 操作数和地址指针 返回串操作 66 作业 作业课本P159 9 10 11 12 13 14 15 16 67 补充题 设物理地址为96FF8H 偏移地址任意 则段地址可取 8600H 900H 96FFH 9700H 课堂练习 68 课后习题 P150 4 若 DS 3000H BX 2000H SI 0100H ES 4000H 计算下列各指令中存储器操作数的物理地址 1 MOV BX AH 2 ADDAL BX SI 1000H 3 MOVAL BX SI 4 SUBAL ES BX 5 若 CS E000H 说明代码段可寻址物理存储空间的范围 6 设 SP 2000H AX 3000H BX 5000H 执行下列程序片段后 SP AX BX PUSHAXPUSHBXPOPAX 课后习题 P15
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年广东省深圳高级中学七年级(下)期中英语试卷
- 人力资源管理
- 石榴石知识详解
- 新形势下标准化服务行业顺势崛起战略制定与实施分析报告
- 剃齿机企业县域市场拓展与下沉战略分析报告
- 2025-2030年鸡肉意面餐厅企业制定与实施新质生产力战略分析研究报告
- 2025-2030年AI辅助的远程医疗咨询服务行业跨境出海战略分析研究报告
- 2025-2030年半潜式钻井-生产-储卸平台行业直播电商战略分析研究报告
- 2025法硕民法学总论基础阶段练习题及答案解析
- 回望自芬芳题目及答案
- 2026年人教版(新教材)小学信息技术三年级全一册第二学期(第5-8单元)期末质量检测卷及答案(二套)
- 招商运营管理中心工作手册
- 2026年陕西好猫卷烟材料有限责任公司招聘(10人)笔试参考题库及答案解析
- 2026内蒙古赤峰市人大常委会办公室所属事业单位竞争性比选人员3人备考题库及一套完整答案详解
- 四川-(2025年)高考四川卷历史高考真题(含答案)
- 《金融大数据分析》试题及答案
- 2026年《民法典》应知应会知识竞赛测试题题库及答案
- 语文+答案百师联盟2026届高三4月22日适应性模拟考试(.22-4.23)
- 2026三年级科学下册全册知识点(教科版)
- 冷链设备维护保养计划
- 北京市2025北京人民艺术剧院招聘6人笔试历年参考题库典型考点附带答案详解
评论
0/150
提交评论