收藏 分销(赏)

16、32位微机原理、汇编语言及接口关键技术-课后习题答案.doc

上传人:人****来 文档编号:2996247 上传时间:2024-06-12 格式:DOC 页数:71 大小:1.01MB 下载积分:16 金币
下载 相关 举报
16、32位微机原理、汇编语言及接口关键技术-课后习题答案.doc_第1页
第1页 / 共71页
16、32位微机原理、汇编语言及接口关键技术-课后习题答案.doc_第2页
第2页 / 共71页


点击查看更多>>
资源描述
第一章 1.1 解: 五代,详细见书 1.2 解: 微型计算机:以大规模、超大规模集成电路为重要部件,以集成了计算机重要部件——控制器和运算器微解决器为核心,所构造出计算机系统 。 PC机:PC(Personal Computer)机就是面向个人单独使用一类微机 。 单片机:用于控制微解决器芯片,内部除CPU外还集成了计算机其她某些重要部件,如:ROM、RAM、定期器、并行接口、串行接口,有芯片还集成了A/D、D/A转换电路等。 数字信号解决器DSP:重要面向大流量数字信号实时解决,在宿主系统中充当数据解决中心,在网络通信、多媒体应用等领域正得到越来越多应用 1.3 解: 微机重要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件构成,各某些功能如下: CPU:统一协调和控制系统中各个部件 系统总线:传送信息 存储器:存储程序和数据 I/O设备:实现微机输入输出功能 I/O接口:I/O设备与CPU桥梁 操作系统:管理系统所有软硬件资源 1.4 解: 系统总线:传递信息一组公用导线,CPU通过它们与存储器和I/O设备进行信息互换 。 好处:组态灵活、扩展以便 三组信号线:数据总线、地址总线和控制总线 。 其使用特点是:在某一时刻,只能由一种总线主控设备来控制系统总线,只能有一种发送者向总线发送信号;但可以有各种设备从总线上同步获得信号。 1.5解: (1)用于数值计算、数据解决及信息管理方向。采用通用微机,规定有较快工作速度、较高运算精度、较大内存容量和较完备输入输出设备,为顾客提供以便和谐操作界面和简便快捷维护、扩充手段。 (2)用于过程控制及嵌人应用方向。 采用控制类微机,规定能抵抗各种干扰、适应现场恶劣环境、保证长时间稳定地工作,规定其实时性要好、强调其体积要小、便携式应用强调其省电。 1.6 解: 1.7 解: I/O通道:位于CPU和设备控制器之间,其目是承担某些本来由CPU解决I/O任务,从而把CPU从繁杂I/O任务中解脱出来。由10根信号线构成(A9-A0)。 1.8解: BIOS:基本输入输出系统。 重要功能:用来驱动和管理诸如键盘、显示屏、打印机、磁盘、时钟、串行通信接口等基本输入输出设备 1.9 解: 基本RAM区:640KB 保存RAM区:128KB 扩展ROM区:128KB 基本ROM区:128KB 1.10 解: (1)、数—用来直接表征量大小,涉及:定点数、浮点数。 (2)、码—用来指代某个事物或事物某种状态属性,涉及:二进制、八进制、十进制、十六进制。 区别:使用场合不同,详见P16. 1.11 解: (1) (2) (3) 1.12 解: 原码 反码 补码 +37 00100101/25H 00100101/25H 00100101/25H -37 10100101/A5H 11011010/DAH 11011011/DBH 1.13 解: +37 -37 16位 32位 16位 32位 00 25H 00 00 00 25H FF 5BH FF FF FF 5BH 1.14 解: 无符号数:70D 补码有符号数:70D BCD码:46D ASCII:F 1.15 解: 1)、相加后若浮现和不不大于9,则将和减去10后再向高位进1 2)、若浮现组间进位,则将低位加6 1.16 解: 详见课本16页。 1.17 解: C3 40 20 00 1.18 解: 50 50H 十进制值 50 80 二进制 十六进制 二进制 十六进制 0011 0010B 32H 0101 0000B 50H 1.19 解: D:44H d:64H CR:0DH LF:0AH 0:30H SP:20H NUL:00H 1.20 解: 国标码:36 50H 机内码:B6 B0H 第二章 2.1 算术逻辑单元ALU、寄存器组和控制器; 总线接口单元BIU:管理8088与系统总线接口负责cpu对接口和外设进行访问 执行单元EU:负责指令译码、执行和数据运算; 8位cpu在指令译码前必要等待取指令操作完毕,8088中需要译码指令已经取到了指令队列,不需要等待取指令。而取指令是cpu最为频繁操作,因而8088构造和操作方式节约了大量等待时间,比8位cpu节约了时间,提高了性能。 2.2 8个8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL; 8个16位寄存器:累加器AX、基址寄存器BX、计数器CX、数据寄存器DX、源地址寄存器SI、目地址寄存器DI、基址指针BP、堆栈指针SP。 2.3 标志用于反映指令执行成果或者控制指令执行形式。 状态标志用于记录程序运营成果状态信息;控制标志用于控制指令执行形式。 2.4 例:有运算:3AH+7CH=B6H 作为无符号数运算,没有进位,CF=0; 作为有符号数运算,成果超过范畴,OF=1. 2.5 8088中每个存储单元有唯一20位地址,称为物理地址。解决器通过总线存取存储器数据时,采用这个物理地址。 在顾客编程过程中采用“段地址:偏移地址”形式称为逻辑地址。 将逻辑地址中段地址左移4位,加上偏移地址就得到物理地址。 1MB最多能提成65536个逻辑段。 2.6 代码段:存储程序指令序列; 堆栈段:拟定堆栈所在主存储区; 数据段:存储当前运营程序数据; 附加段:附加数据段,用于数据保存。此外串操作指令将其作为目操作数存储区。 2.7 8088存储空间分段管理,程序设计时采用逻辑地址。由于段地址在默认或指定段寄存器中,因此只需要偏移地址,称为有效地址EA. 操作数在主存中有如下几种寻址方式:直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址。 2.8 (1)及时数寻址 ax:1200H (2)寄存器寻址 ax:0100H (3)存储器直接寻址 ax:4C2AH (4)寄存器间接寻址 ax:3412H (5)寄存器间接寻址 ax:4C2AH (6)基址变址寻址 ax:7856H (7)相对基址变址寻址 ax:65B7H 2.9 (1)cx为字寄存器,dl为字节寄存器,类型不匹配。 (2)mov指令目操作数只能是寄存器或者主存单元,ip是指针。 (3)不容许及时数到段寄存器传送。 (4)不容许段寄存器之间直接传送。 (5)数据溢出。 (6)sp不能用于寄存器间接寻址。 (7)格式不对。应为:mov ax,[bx+di] (8)mov指令操作数不能是及时数。 2.10 (1)bx得到table偏移地址,bx=200H. (2)将及时数8送到al。 (3)换码,al=12H. 2.11 (1)al=89H (2)al=12H,cf=1,zf=0,sf=0,of=1,pf=1 (3)al=0AFH,cf=0,zf=0,sf=1,of=0,pf=1 (4)al=0AFH,cf=1,zf=0,sf=1,of=1,pf=1 (5)al=0,cf=0,zf=1,sf=0,of=0,pf=1 (6)al=0FFH,cf=0,zf=0,sf=1,of=0,pf=1 (7)al=0,cf=0,zf=1,sf=0,of=0,pf=1 2.12 (1) add dx,bx (2) add al,[bx+si] (3) add word ptr[bx+0B2H],cx (4) add word ptr[0520H],3412H (5)add al,0A0H 2.13 运算公式:。商存储在ax,余数存储在dx。 2.14 (1)ax=1470H (2)ax=1470H,cf=0,of=0,sf=0,zf=0,pf=0 (3)ax=1470H,cf=0,of=0,sf=0,zf=0,pf=0 (4)ax=0,cf=0,of=0,sf=0,zf=1,pf=1 (5)ax=0FFFFH,cf=0,of=0,sf=0,zf=1,pf=1 (6)ax=0FFFFH,cf=0,of=0,sf=1,zf=0,pf=1 2.15 相对寻址方式、直接寻址方式、间接寻址方式。 2.16 (1)1256H (2)3280H 2.17 (1)ax=1E1EH (2)alD0、D7位不全为0 (3)cx<64H 2.18 执行65536次。 2.19 功能:将数组中每个字元素相加,成果存储于total。 2.20 (1)lea si,string Mov dh,[si] Mov dl,[si+5] (2)mov ax word ptr buffer1 Sub ax word ptr buffer2 Mov dx word ptr buffer1+2 Sbb dx word ptr buffer2+2 (3) test dx,0F000H jz even even:mov ax,0 (4) mov cx,4 again:sar dx,1 rcr ax,1 loop again (5) mov cx,100 mov si,0 again:mov al,0FFH add al,array[si] mov array[si],al inc si loop again 2.21 Htoasc proc Mov bl,al Mov al,ah Mov bh,10 Mul bh And ax,00FFH Add al,bl Htoend:ret Htoasc endp 2.22 计算机系统运用中断为顾客提供硬件设备驱动程序。在IBM-PC系列微机中,基本输入输出系统ROM-BIOS和DOS都提供了丰富中断服务程序,称为系统功能调用。 调用环节(1)AH中设立系统功能调用号 (2)在指定寄存器中设立入口参数 (3)使用中断调用指令执行功能调用 (4)依照出口参数分析调用状况 2.23 Htoasc proc And al,0FH Add al,90H Daa Adc al,40H Daa Mov ah,02H Mov dl,al Int 21H Ret Htoasc endp 2.24 Numout proc Xor ah,ah Aam Add ax,3030H Mov dl,ah Mov ah,02H Int 21H Mov dl,al Mov ah,02H Int 31H Ret Numout endp 2.25 Msgkey db”input number 0-9”,”$” Msgwrg db”error”,”$” Mov ah,09H Mov dx,offset msgkey Int 21H Again: mov ah,01H Int 21H Cmp al,30H Jb disp Cmp al,39H Ja disp Mov dl,al Mov ah,02H Int 21H Jmp done Disp: mov dx,offset msgwrg Mov ah,09H Int 21H Jmp again Done: mov ah,02H Mov dl,al Int 21H 第3章 3.1 解: 汇编语言是一种以解决器指令系统为基本低档程序设计语言,它采用助记符表达指令操作码,采用标记符号表达指令操作数,可以直接、有效地控制计算机硬件,因而容易创立代码序列短小、运营迅速可执行程序 3.2 解: (1)完整汇编语言源程序由段构成 (2)一种汇编语言源程序可以包括若干个代码段、数据段、附加段或堆栈段,段与段之间顺序可随意排列 (3)需独立运营程序必要包括一种代码段,并批示程序执行起始点,一种程序只有一种起始点 (4)所有可执行性语句必要位于某一种代码段内,阐明性语句可依照需要位于任一段内 (5)普通,程序还需要一种堆栈段 3.3 解: 存储模式 特 点 TINY COM类型程序,只有一种不大于64KB逻辑段(MASM 6.x支持) SMALL 小应用程序,只有一种代码段和一种数据段(含堆栈段),每段不不不大于64KB COMPACT 代码少、数据多程序,只有一种代码段,但有各种数据段 MEDIUM 代码多、数据少程序,可有各种代码段,只有一种数据段 LARGE 大应用程序,可有各种代码段和各种数据段(静态数据不大于64KB) HUGE 更大应用程序,可有各种代码段和各种数据段(对静态数据没有限制) FLAT 32位应用程序,运营在32位80x86CPU和Windows 9x或NT环境 3.4 解: 开始位置:用标号指明 返回DOS:运用DOS功能调用4CH子功能来实现 汇编停止:执行到一条END伪指令时,停止汇编 3.5 解: 段定位、段组合和段类型。 3.6 解: stack segment stack db 1024(0) stack ends data segment string db 'Hello,Assembly!',0dH,0aH,‘$’ data ends code segment 'code' assume cs:code,ds:data,ss:stack start: mov dx,offset string mov ah,9 int 21h code ends end start 3.7 解: (1). EXE程序 程序可以有各种代码段和各种数据段,程序长度可以超过64KB 普通生成EXE构造可执行程序 (2). COM程序 只有一种逻辑段,程序长度不超过64KB 需要满足一定条件才干生成COM构造可执行程序(MASM 6.x需要采用TINY模式) 3.8 解: 符号定义伪指令有“等价EQU”和“等号=”: 符号名 EQU 数值表达式 符号名 EQU <字符串> 符号名 = 数值表达式 EQU用于数值等价时不能重复定义符号名,但“=”容许有重复赋值。例如: X= 7 ;等效于:X equ 7 X= X+5 ;“X EQU X+5”是错误 3.9 解: (1) al=67h (2) ax=133h,dx=4h (3) ax=0230h (4) al=41h (4) ax=7654h 3.10 解: (1) 41h 42h 43h 10 10h 45h 46h -1 ? 4 4 4 -1 ? 4 4 4 -1 ? 4 4 4 (2) 10h 00h 0fbh 0ffh ? ? ? ? ? ? 3.11 解:.data my1b db 'Personal Computer' my2b db 20 my3b db 14h my4b db 00010100b my5w dw 20 dup(?) my6c = 100 my7c = <'Personal Computer'> 3.12 解: 运用定位伪指令控制,如org,even,align 3.13 解: 涉及逻辑地址和类型两种属性。 3.14 解: ;数据段 org 100h varw dw 1234h , 5678h varb db 3 , 4 vard dd 12345678h buff dd 10 dup(?) mess db 'Hello' ;代码段 mov ax , offset varb + offset mess mov ax , type buff + type mess + type vard mov ax , sizeof varw+ sizeof buff+ sizeof mess mov ax , lengthof varw+ lengthof vard 3.15 解: (1) 1000超过一种字节所能表达最大整数 (2)SI应为偶数 (3)两个内存单元不能直接运算 (4)应改为[al+1] (5)条件转移指令背面应接标号,而不是变量 3.16 解: mov ah,1 ;只容许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 3.17 解: mov bx,offset LEDtable mov al,lednum xlat 3.18 解: mov ax,bufX cmp ax,bufY jae done mov ax,bufY done: mov bufZ,ax 3.19 解: .model small .stack .data bufX dw -7 signX db ? .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 3.20 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h 3.21 解: ;代码段 mov al,number mov bx,0 ;BX←记录为1位数 restart: cmp al,0 ;AL=0结束 jz done again: shr al,1 ;最低位右移进入CF jc next ;为1,转移 inc bx ;不为1,继续 jmp again next: push ax push bx shl bx,1 ;位数乘以2(偏移地址要用2个字节单元) jmp addrs[bx] ;间接转移:IP←[table+BX] ;如下是各个解决程序段 fun0: mov dl,'0' jmp disp fun1: mov dl,'1' jmp disp fun2: mov dl,'2' jmp disp fun3: mov dl,'3' jmp disp fun4: mov dl,'4' jmp disp fun5: mov dl,'5' jmp disp fun6: mov dl,'6' jmp disp fun7: mov dl,'7' jmp disp ; disp: mov ah,2 ;显示一种字符 int 21h pop bx pop ax jmp restart done: … 3.22 编制程序完毕12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将成果存入字节变量SUM中(不考虑溢出和进位)。 ;wjxt322.asm .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据 num equ 10 ;数据个数 sum db ? ;预留成果单元 .code .startup xor si,si ;位移量清零 xor al,al ;取第一种数 mov cx,num ;累加次数 again: add al,b_data[si] ;累加 inc si ;指向下一种数 loop again ;如未完,继续累加 mov sum,al ;完了,存成果 .exit 0 end 3.23 求主存0040h:0开始一种64KB物理段中共有多少个空格? ;wjxt323.asm .model small .code start: mov ax,0040h ;送段地址 mov ds,ax mov si,0 ;偏移地址 mov cx,si ;计数(循环次数) xor ax,ax ;空格计数器清零 again: cmp byte ptr [si],20h ;与空格ASCII码比较 jne next ;不是空格,转 inc ax ;是空格,空格数加1 next: inc si ;修改地址指针 loop again ;cx=cx-1,如cx=0 退出循环 .exit 0 end start 3.24 编写计算100个16位正整数之和程序。如果和不超过16位字范畴(65535),则保存其和到wordsum,如超过则显示‘overflow’。 答: ;数据段 count equ 100 parray dw count dup(?) ;假设有100个数据 wordsum dw 0 msg db ‘overflow’,’$’ ;代码段 mov cx,count mov ax,0 mov bx,offset parray again: add ax,[bx] jnc next mov dx,offset msg mov ah,9 int 21h ;显示溢出信息 jmp done ;然后,跳出循环体 next: add bx,2 loop again mov wordsum,ax done: … 3.25 编程把—个16位无符号二进制数转换成为用8421BCD码表达5位十进制数。转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;依次用余数除以l00、10和l,得到“百位”、“十位”和“个位”。 ;wjxt325.asm .model small .stack 256 .data array dw ? ;源字数据 dbcd db 5 dup(?) ;五位bcd成果,高对高低对低 .code .startup mov dx,array ;取源数据(余数) mov bx,10000 ;除数 mov cx,10 ;除数系数 mov si,4 ;目数据高位位移量 again: mov ax,dx ;dx.ax中存储被除数 mov dx,0 div bx ;除于bx,商ax,余数dx mov dbcd[si],al ;商<10,存成果 push dx ;暂存余数 mov ax,bx ;除数除于10 mov dx,0 div cx ;dx.ax除于cx,商ax、余数0存在dx mov bx,ax ;bx是除数 pop dx dec si ;目数据位移量减1 jnz again mov dbcd,dl ;存个位数( < 10 ) .exit 0 end 3.26 解: (1)汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下: 过程名 PROC [NEAR|FAR] …… ;过程体 过程名 ENDP (2)保护用到寄存器内容,以便子程序返回时进行相应恢复。 (3)改错: crazy proc pish bx push cx xor ax,ax xor dx,dx again:add a,[bx] adc dx,0 inc bx inc bx loop again pop cx pop bx 3.27 解(不需调用HTOASC子程序): again: mov ah,1 int 21h cmp al,1bh ;ESCASCII码是1bh je done mov dl,al mov ah,2 int 21h ;是大写字母则转换为小写字母 jmp again done: … 3.28 解答: asctob proc push cx and dh,0fh ;先转换十位数 shl dh,1 ;十位数乘以10(采用移位指令) mov ch,dh shl dh,1 shl dh,1 add dh,ch and dl,0fh ;转换个位数 add dh,dl ;十位数加个位数 mov al,dh ;设立出口参数 pop cx ret asctob endp 3.29 解: DIPASC proc ;入口参数:AL=要显示一种16进制数 push cx push dx push ax mov cl,4 ;转换高位 shr al,cl call HTOASC mov dl,al ;显示 mov ah,2 int 21h pop ax ;转换低位 call HTOASC mov dl,al ;显示 mov ah,2 int 21h mov dl,’H’ ;显示一种字母“H” mov ah,2 int 21h pop dx pop cx ret DIPASC endp HTOASC proc ;将AL低4位表达一位16进制数转换为ASCII码 and al,0fh cmp al,9 jbe htoasc1 add al,37h ;是0AH~0FH,加37H转换为ASCII码 ret ;子程序返回 htoasc1: add al,30h ;是0~9,加30H转换为ASCII码 ret ;子程序返回 HTOASC endp 3.30 解: lucase proc push bx mov bx,offset string cmp al,0 je case0 cmp al,1 jz case1 cmp al,2 jz case2 jmp done case0: cmp byte ptr [bx],0 je done cmp byte ptr [bx],’A’ jb next0 cmp byte ptr [bx],’Z’ ja next0 add byte ptr [bx],20h next0: inc bx jmp case0 case1: cmp byte ptr [bx],0 je done cmp byte ptr [bx],’a’ jb next1 cmp byte ptr [bx],’z’ ja next1 sub byte ptr [bx],20h next1: inc bx jmp case1 case2: cmp byte ptr [bx],0 je done cmp byte ptr [bx],’A’ jb next2 cmp byte ptr [bx],’Z’ ja next20 add byte ptr [bx],20h jmp next2 next20: cmp byte ptr [bx],’a’ jb next2 cmp byte ptr [bx],’z’ ja next2 sub byte ptr [bx],20h next2: inc bx jmp case2 done: pop bx ret lucase endp 3.31 解: (1)用寄存器传递参数: 最简朴和惯用参数传递办法是通过寄存器,只要把参数存于商定寄存器中就可以了 由于通用寄存器个数有限,这种办法对少量数据可以直接传递数值,而对大量数据只能传递地址 采用寄存器传递参数,注意带有出口参数寄存器不能保护和恢复,带有入口参数寄存器可以保护、也可以不保护,但最佳可以保持一致 (2)用共享变量传递参数 子程序和主程序使用同一种变量名存取数据就是运用共享变量(全局变量)进行参数传递 如果变量定义和使用不在同一种源程序中,需要运用PUBLIC、EXTREN声明 如果主程序还要运用本来变量值,则需要保护和恢复 运用共享变量传递参数,子程序通用性较差,但特别适合在各种程序段间、特别在不同程序模块间传递数据 (3)用堆栈传递参数 参数传递还可以通过堆栈这个暂时存储区。主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈获得它们 采用堆栈传递参数是程式化,它是编译程序解决参数传递、以及汇编语言与高档语言混合编程时常规办法 3.32 解: 办法:主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈获得它们 注意:压栈与弹栈必要要一一相应。 3.33 解: 办法1: neg32 proc ;入口参数:DX.AX=32位有符号数 neg ax ;实现0-DX.AX功能 neg dx sbb dx,0 ;这条指令也可以用dec dx代替 ret neg32 endp ;出口参数:DX.AX=32位有符号数补码 办法2: neg32 proc ;入口参数:DX.AX=32位有符号数 not ax ;实现DX.AX求反加1 not dx add ax,1 adc dx,0 ret neg32 endp ;出口参数:DX.AX=32位有符号数补码 3.34 解: ;数据段 array db 12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90h ;数组 count equ $-array ;数组元素个数 result db ? ;校验和 ;代码段 mov bx,offset array ;BX←数组偏移地址 mov cx,count ;CX←数组元素个数 call checksum ;调用求和过程 mov result,al ;解决出口参数 mov ax,4c00h int 21h ;计算字节校验和通用过程 ;入口参数:DS:BX=数组段地址:偏移地址,CX=元素个数 ;出口参数:AL=校验和 ;阐明:除AX/BX/CX外,不影响其她寄存器 checksum proc xor al,al ;累加器清0 sum: add al,[bx] ;求和 inc bx ;指向下一种字节 loop sum ret checksum endp end 3.35 解: ⑴ .model small .stack .data wdata dw 34abh .code .startup mov ax,wdata call dispa .exit 0 ; dispa proc push cx push dx mov cl,4 mov dl,ah shr dl,cl call dldisp mov dl,ah and dl,0fh call dldisp mov dl,al shr dl,cl call dldisp mov dl,al and dl,0fh call dldisp pop dx pop cx ret dispa endp ; dldisp proc push ax or dl,30h cmp dl,39h jbe dldisp1 add dl,7 dldisp1: mov ah,2 int 21h pop ax ret dldisp endp end ⑵ .model small .stack .data wdata dw 34abh wordtemp dw ? .code .startup mov ax,wdata mov wordtemp,ax call dispa .exit 0 ; dispa proc push cx push dx mov cl,4 mov dl,byte ptr wordtemp+1 shr dl,cl call dldisp mov dl,byte ptr wordtemp+1 and dl,0fh call dldisp mov dl,byte ptr wordtemp shr dl,cl call dldisp mov dl,byte ptr wordtemp and dl,0fh call dldisp pop dx pop cx ret dispa endp ; dldisp proc push ax or dl,30h cmp dl,39h jbe dldisp1
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服