基本汇编语言程序设计 mode small stack data var dq1234567887654321h code mov al, byte ptr gvar [6] mov byte ptr gvar[7], al mov al, byte ptr avar[5] mov byte ptr gvar[6, al mov al, byte ptr gvar[4] mov byte ptr gvar[5], al mov al, byte ptr gvar3] mov byte ptr gvar[41, al
第 四 章 基 本 汇 编 语 言 程 序 设 计 6 例4.2/2 .model small .stack .data Qvar dq 1234567887654321h .code mov al,byte ptr qvar[6] mov byte ptr qvar[7],al mov al,byte ptr qvar[5] mov byte ptr qvar[6],al mov al,byte ptr qvar[4] mov byte ptr qvar[5],al mov al,byte ptr qvar[3] mov byte ptr qvar[4],al
基本汇编语言程席设计 mov al, byte ptr gvar [2] mov byte ptr gvar[3], al mov al, byte ptr gvar[l] mov byte ptr gvar[2], al mov al, byte ptr gvar[O] mov byte ptr gvar[], al mov byte ptr gvar[o], 0 1234567887654321h(移位前) (移位后)3456788765432100h 還国第四章
第 四 章 基 本 汇 编 语 言 程 序 设 计 7 例4.2/3 mov al,byte ptr qvar[2] mov byte ptr qvar[3],al mov al,byte ptr qvar[1] mov byte ptr qvar[2],al mov al,byte ptr qvar[0] mov byte ptr qvar[1],al mov byte ptr qvar[0],0 12 34 56 78 87 65 43 21h 34 56 78 87 65 43 21 00h (移位前) (移位后) 返回第四章
基本汇编语言程序设计 4.2分支程序设计 条件转移指令J和无条件转移指令JMP用于实现程序 的分支结构,JP不测试条件,Jcc可根据条件是否成立 决定转移到指定位置或不转移而顺序执行后续指令。由 于Jc不支持条件表达式,而是以当前标志位的状态为 条件,故Jc之前一定要安排设置标志位的指令,如加 减法、比较、测试等指令。基本分支类型分为单分支和 双分支
第 四 章 基 本 汇 编 语 言 程 序 设 计 8 4.2分支程序设计 4.2 分支程序设计 条件转移指令Jcc和无条件转移指令JMP用于实现程序 的分支结构,JMP不测试条件,Jcc可根据条件是否成立 决定转移到指定位置或不转移而顺序执行后续指令。由 于Jcc不支持条件表达式,而是以当前标志位的状态为 条件,故Jcc之前一定要安排设置标志位的指令,如加 减法、比较、测试等指令。基本分支类型分为单分支和 双分支
基本汇编语言程席设计 1.单分支类型 Jec条件满足? 分支语句体 〔a)单分支结构 对同一个问题,根据选择的条件不同,单分支结 构的流程图有两种画法,对应的程序也有两种编法。 如计算AX中的有符号数的绝对值
第 四 章 基 本 汇 编 语 言 程 序 设 计 9 单分支 1. 单分支类型 对同一个问题,根据选择的条件不同,单分支结 构的流程图有两种画法,对应的程序也有两种编法。 如计算AX中的有符号数的绝对值
基本汇编语言程席设计 AX≥0? AX<0? 求补指令 求补指令 保存结果 JMP 保存结果 cmp ax, 0 cmp ax, 0 (教材有误) Jnge yeshe ige honed jmp done neg ax yesneg: neg ax Noneg: mov result, ax Done: mov result, ax 10
第 四 章 基 本 汇 编 语 言 程 序 设 计 10 单分支 cmp ax,0 jge noneg neg ax Noneg: mov result,ax cmp ax,0 (教材有误) jnge yesneg jmp done yesneg: neg ax Done: mov result,ax AX≥0 ? 求补指令 Y N 保存结果 AX<0? 求补指令 Y N JMP 保存结果