10-13下作业第3章(2013.9.26微机)

上传人:ji****81 文档编号:203078287 上传时间:2021-10-19 格式:DOCX 页数:6 大小:22.50KB
返回 下载 相关 举报
10-13下作业第3章(2013.9.26微机)_第1页
第1页 / 共6页
10-13下作业第3章(2013.9.26微机)_第2页
第2页 / 共6页
10-13下作业第3章(2013.9.26微机)_第3页
第3页 / 共6页
10-13下作业第3章(2013.9.26微机)_第4页
第4页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《10-13下作业第3章(2013.9.26微机)》由会员分享,可在线阅读,更多相关《10-13下作业第3章(2013.9.26微机)(6页珍藏版)》请在金锄头文库上搜索。

1、10-13下作业第3章(2013.9.26微机) 本次课内容第二章习题课第二章小结 (课件8) 综合设计题 (课件8-下次课提问) 大小写转换 (课件8-下次课提问) 作业讲解第3章 总线总线概述 内总线 PC/XT总线 (8088系统总线)外总线小结作业讲解5-作业1.书72页题2.162.书72页题2.183.将DX.BX中32位数值右移四位 4.将两无符号数AX、BX的较小值放CX 5. 编程实现若寄存器 DX 高 4 位 =0 ,使 AX=0 ;否则 使AX=-1 准备下次课提问的题5-作业1答案 1.书72页题2.16? 40000H改为变量SSSS ? 查找数据块中a个数放bx、c

2、x(Loop冲突)方法1:循环程序方法2:串操作类指令(内存40000H开始16KB单元数据块传送至首地址A0000H存储区域) mov cx,4000h ;设置循环次数16KB=4000H ;设置循环初值DS:SI指向数据段源缓冲区开始40000H=4000H(DS)16+0(SI)mov ax,4000h mov ds,ax mov si,0;设置循环初值ES:DI指向附加段目的缓冲区开始A0000H=A000H(ES)16+0(DI)again:movsbmov mov mov mov mov inc inc loop hltax,0a000h es,ax di,0 al,si es:d

3、i,al si di again;循环体:实现数据传送 ;每次传送一个字节 ; SI和DI指向下一个单元CLD REP MOVSB;重复执行MOVSB指 令CX次;循环条件判定-循环次数减1,不为0转移(循环)5-作业2答案2.书72页题2.18 (统计内存40000H开始的16KB单元中为字符A个数,结果存放在DX 中)答案:mov cx,4000H mov si,0 mov ax,4000H mov ds,ax mov dx,0 ;设置循环次数16KB=4000H ;设置循环初值:SI 指向数据段源缓冲区开始物理地址40000H= 段基地址(DS)4000H*16+偏移地址(SI)0000

4、H;dx存放结果,初值为0next1:next2: done:cmp jnz inc inc loophltbyte ptr si,A ;循环体每次比较一个字节A next2 dx si ;SI指向下一个单元 next1 ;循环条件判定:循环次数减1,不为0转移(循环)5-作业3答案 3.将DX.BX中32位数值右移四位答案:MOV NEXT: SHR RCR HLT CX,4 DX,1 BX,1LOOP NEXT5-作业4答案 4.将两无符号数AX、BX的较小值放CX答案:cmp jnc xchg mov hlt ax,bx next ax,bx cx,bx ;比较AX和BX ;若AXBX,

5、转移 ;若AXCX,交换next:判断A B 不低于(大于等于) 有符号数 JNL / JGE指令 无符号数 JNC / JNB / JAE指令5-作业5答案 5.编程实现若寄存器DX高4位=0,使AX=0;否则使AX=-1答案1:test dx,0f000h ;测试dx高4位=0 jz next ;相等,转移 mov ax,-1 ;不相等,令AX=-1 jmp done ;无条件转移指令 next: mov ax,0 ;相等的处理:令AX=0 done: hlt -答案2: mov ax,0 test dx,0f000h jz next ;条件满足(DX高4位全为0),转移 mov ax,-

6、1 ;条件不满足 next: hlt6-作业1.描述DB的功能? 伪指令BUF DW 1, 23,?, 4 dup(5)执行后,写出BUF开始内存单元的内容 2.按照如下要求定义变量 (1) s11为11的常量 (2) s22为字符串变量OK (3) s33表示字符串OK (4) s44为用十六进制数表示的字节变量44 (5) s55为55个未赋值的字变量3.设COUNT变量在数据段的偏移地址为0010H 程序如下WNUM EQU COUNT DW MOV ADD MOV LEA MOV MOV 01H 20H SI,WNUM SI, OFFSET COUNT AL,SI BX,COUNT B

7、X,BX CX,OFFSET COUNT问:程序执行后AL=? BX=? CX=? 4.将题3写出完整的汇编语言源程序(简化段定义格式) 预习汇编语言程序开发实验 (重点掌握CodeView调试方法) 准备下次课提问的题6-作业1.描述DB的功能? 伪指令BUF DW 1, 23,?, 4 dup(5)执行后,写出BUF开始内存单元的内容 答案:01H,00H,33H,32H,?,?,05H,00H,05H,00H, 05H,00H,05H,00H2.按照如下要求定义变量 (1) s11为11的常量 答案:S11 EQU 11 (2) s22为字符串变量OK 答案:S22 DB OK (2)

8、s33表示字符串OK 答案:S33 EQU OK (3) s44为用十六进制数表示的字节变量44 答案:S44 DB 44H(4) s55为55个未赋值的字变量答案:S55 DW 55DUP(?)6-作业3讲解AL=? BX=? CX=?程序如下 COUNT DW MOV MOV LEA MOV 20H SI,1 AL,SI+COUNT BX,COUNT CX,OFFSET COUNTAL=00H BX=CX= COUNT变量在数据段的偏移地址存储单元 00H 20HCOUNT设COUNT变量在数据段的偏移地址为0010H 程序如下 WNUM EQU 01H COUNT DW 20H MOV

9、SI, WNUM ADD SI, OFFSET COUNT MOV AL,SI LEA BX,COUNT MOV BX,BX MOV CX,OFFSET COUNT AL=00H BX=0020H CX=0010H =COUNT变量在数据段的偏移地址6-作业4讲解 将上题写出完整的汇编语言源程序(简化段定义格式) .model small .data ; 定义数据段 EQU 01H DW 20H .code ; 定义代码段 mov ax,data ;程序起始点,建立DS mov ds,ax MOV SI, WNUM ADD SI, OFFSET COUNT MOV AL,SI LEA BX,C

10、OUNT MOV BX,BX MOV CX,OFFSET COUNT .exit 0 ; 程序正常执行结束 end start ; 汇编结束数据 定义WNUM COUNTstart:程 序8-作业1.程序如下count maxint number array db equ dw db dec mov mov mov mov hlt 65h, a,? 1104h maxint maxint dup(3) byte ptr array-1 bx,offset number dh,bx+2 dl,bx-2 cx,number问:程序执行后dx=?cx=?2. 编程实现将从键盘输入的一个小写字母用大写

11、字母显示出来 3. 书72页习题12 复习第2章内容,预习第3章 总线8-作业1讲解 dx=0361h 存储单元 3 3arraycx= 1004h程序如下 count db maxint equ number dw array db dec mov mov mov mov hlt65h, a,? 1104h maxint maxint dup(3) byte ptr array-1 bx,offset number dh,bx+2 dl,bx-2 cx,number11H-104H ?numbera=61H65Hcount8-作业2讲解 编程实现将从键盘输入的一个小写字母用大写字母显示出来方

12、法1:分支程序 方法2:子程序设计字母大小写;方法1程序int 21h cmp al,a jc next cmp al,z ja next sub al,20h next: mov ah,02h mov dl,al 02号 int 21h hlt01号 mov ah,01h;设置功能调用号 ;功能调用, AL=字符的ASCII码 ;是否为小写az ;转 ;是,转换为大写字母(使D5=0) ;设置功能调用号 ;设置入口参数DL=欲显示字符的ASCII码 ;功能调用8-作业2讲解(方法2:子程序设计);主程序mov int call mov mov int hlt ah,01h 21h dpcha

13、r ah,02h dl,al 21h?大写字母用小写字母显示;设置功能调用号 ;功能调用, AL=字符的ASCII码 ; 调用子程序 ;设置功能调用号 ;设置入口参数DL=欲显示字符的ASCII码 ;功能调用 入口参数:寄存器al=需转换字符的ASCII码 出口参数:寄存器al=大小写转换后字符的ASCII码 ;是否为大写AZ ;转 ;是,转换为大写字母(使D5=0) ;子程序返回;子程序dpchar:小写改大写cmp al,a jc next cmp al,z ja next sub al,20h retnext :子程序开始应保护用到的寄存器,返回前恢复。本题不PUSH/POP AX,因a

14、l为出口参数8-作业3讲解 3.书72页习题12(40000H4BFFFH写55H,写入读出比较,全对AL置7EH,有错AL置81H)答案:mov cx,0C000H mov si,0000H mov mov mov inc loop mov mov mov mov cmp jnz inc loop mov hlt;设置循环次数4BFFFH- 40000H+1=0C000H ;设置循环初值:SI 指向数据段源缓冲区开始 物理地址40000H= 段基地址(DS)4000H*16+偏移地址(SI)0000Hnext1:next2:ax,4000H ds,ax byte ptr si,55H ;循环体每次写入一个字节55h si ;SI指向下一个单元 next1 ;循环条件判定:循环次数减1,不为0转移(循环) cx,0C000H ;设置循环次数 si,0000H ;SI 指向数据段源缓冲区开始 al,81H ;设有错 ah,si ;循环体每次比较一个字节55h ah,55h done si ;SI指向下一个单元 next2 al,7EHdone:作业讲解结束第3章 总线一. 总线概述二. 内总线ISA总线 PC/XT总线 (8088系统总线)三. 外总线小结-全文完-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号