微机原理与接口 〔例4-5〕数据比较程序-1 数据段 in msgl byte Enter a number:, 0 in msg2 byte Enter another number:, 0 o out msgl byte Two numbers are equal:,,0 Agout_msg2 byte The less number is. 4 out_msg3 byte 13, 10, The greater number is: ',0 版 ;代码段 机 mov eax, offset in msg 提示输入 械 call dispmsg 业 call readsid;输入第一个数据 出 版 mov ebx. eax 保存到EB 社 mov eax, offset in msg2 提示输入 call dispmsg call readsid;输入第二个数据 mov ecx,eax;保存到ECX
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 〔例4-5〕数据比较程序-1 ; 数据段 in_msg1 byte 'Enter a number: ',0 in_msg2 byte 'Enter another number: ',0 out_msg1 byte 'Two numbers are equal: ',0 out_msg2 byte 'The less number is: ',0 out_msg3 byte 13,10,'The greater number is: ',0 ; 代码段 mov eax,offset in_msg1 ; 提示输入 call dispmsg call readsid ; 输入第一个数据 mov ebx,eax ; 保存到EBX mov eax,offset in_msg2 ; 提示输入 call dispmsg call readsid ; 输入第二个数据 mov ecx,eax ; 保存到ECX
〔例4-5〕数据比较程序-2 微机原理与接口技术·第4版机械工业出版社 cmp ebx,ecx;二个数据进行比较 jne nequal;两数不相等,转移 mov eax, offset out msgl call dispmsg;显示两数相等 mov eax. ebX call diapsid;显示相等的数据 jmp done ;转移到结束 nequal: jl first ;EBX较小,不需要交换,转移 xchg ebx, ecx ;EBX保存较小数,ECX保存较大数
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 〔例4-5〕数据比较程序-2 cmp ebx,ecx ; 二个数据进行比较 jne nequal ; 两数不相等,转移 mov eax,offset out_msg1 call dispmsg ; 显示两数相等 mov eax,ebx call dispsid ; 显示相等的数据 jmp done ; 转移到结束 nequal: jl first ; EBX较小,不需要交换,转移 xchg ebx,ecx ; EBX保存较小数,ECX保存较大数
〔例4-5〕数据比较程序-3 E first: mov eax, offset out_msg2 ;显示较小数 接口技术·第4版机械工业出版社 call dispmsg mov eax,ebx;较小数在EBX中 call diapsid mov eax, offset out msg3 ;显示较大数 call dispmsg mov eax,ecx;较大数在ECX中 call diapsid done
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 〔例4-5〕数据比较程序-3 first: mov eax,offset out_msg2 ; 显示较小数 call dispmsg mov eax,ebx ; 较小数在EBX中 call dispsid mov eax,offset out_msg3 ; 显示较大数 call dispmsg mov eax,ecx ; 较大数在ECX中 call dispsid done:
微机原 413单分支结构 理>只有一个分支的程序 ●类似高级语言的IF-THEN语句结构 >注意采用正确的条件转移指令 当条件满足(成立),发生转移,跳过分支体 ●条件不满足,顺序向下执行分支体 >条件转移指令与高级语言的IF语句正好相反 出 ●IF语句是条件成立,执行分支体
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 4.1.3 单分支结构 ➢只有一个分支的程序 类似高级语言的IF-THEN语句结构 ➢注意采用正确的条件转移指令 当条件满足(成立),发生转移,跳过分支体 条件不满足,顺序向下执行分支体 ➢条件转移指令与高级语言的IF语句正好相反 IF语句是条件成立,执行分支体
〔例4-6〕求绝对值程序 理;代码段 接 ca reads 技 术 输入一个有符号数,从EAX返回值 第 cmp eax,0;比较EAX与0 4 版 Jge nonneg 机 械 条件满足:AX≥0,转移 业 neg eax 版;条件不满足:AX<0,为负数 社 需求补得正值 nonneg:ca1 dispuid;分支结束,显示结 果 示意图
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 〔例4-6〕求绝对值程序 ; 代码段 call readsid ; 输入一个有符号数,从EAX返回值 cmp eax,0 ; 比较EAX与0 jge nonneg ; 条件满足:AX≥0,转移 neg eax ; 条件不满足:AX<0,为负数 ; 需求补得正值 nonneg: call dispuid ; 分支结束,显示结 果 示意图