《汇编语言程序设计》的试验考试比较灵活,考生应全面细致的掌握基本理论,充分理解每一条指令,并且能独立编制程序。 北京大学的考试环境: (1)操作系统:DOS6.22 (2)文本编辑器:EDIT.EXE (3)汇编程序:MASM.EXE (4)连接程序:LINK.EXE (5)调试程序:DEBUG.COM 考试的主要内容分三大部分:输入、输出、数制转换 一、显示字符:“HELLO GOOD MORNING!” DATA SEGMENT NOTE DB‘HELLO GOOD MORING!’,’$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA BEGIN: MOV AX,DATA MOV DS,AX MOV DX,OFFSET NOTE MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN 二、显示2位BCD码 DATA SEGMENT NUM DB 52 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BL,NUM MOV CH,2 RO: MOV CL,4 ROL BL,CL MOV DL,BL AND DL,0FH ADD DL,30H MOV AH,2 INT 21H DEC CH JNE RO MOV AH,4CH INT 21H CODE ENDS END START 三、显示4位十六进制 DATA SEGMENT NUM DW 3ATC DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,NUM MOV CH,4 RO: MOV CL,4 ROL BX,CL MOV DL,BL AND DL,OFH CMP DL,9 JLE ADDR ADD DL,7 ADDR: ADD DL,30H MOV AH,2 INT 21H DEC CH JNE RO MOV AH,4CH INT 21H CODE ENDS END START 四、两个2位十进制数相加,显示和 CODE SEGMENT ASSUME CS:CODE START: MOV AL,36 ADD AL,48 DAA MOV CH,2 RO: MOV CL,4 ROL AL,CL MOV DL,AL ADD DL,OFH ADD DL,30H MOV AH,2 INT 21H DEC CH JNE RO MOV AH,4CH INT 21H CODE ENDS END START 五、两个4位十六进制数相加,显示和 DATA SEGMENT NUM DW 3A54,648B DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,NUM ADD BX,NUM+2 MOV CH,4 RO: MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH CMP DL,9 JLE ADDR ADD DL,7 ADDR: ADD DL,30H MOV AH,2 INT 21H DEC CH JNE ROTATE MOV AH,4CH INT 21H CODE ENDS END START 说明: (1)以上只是最基础的程序,希望大家一定要掌握,并能举一反三,考试是综合各方面内容的,其程序不会少于100行 (2)汇编考题范围广,我们不能像《微型计算机及其接口》一样,死抱8255和8253就行,还希望大家能在考前多练习编程才可以 (3)常用的DOS系统功能调用一定要熟悉,尤其是输入、输出方面的(教科书P168 ~ P172) 试题举例: (1)从键盘输入2个十进制数,其和用二进制显示,其差用八进制显示,其乘积用十六进制显示 (2)从键盘输入1个字符串,统计其中的字符。大写字母个数用二进制显示,小写字母个数用八进制显示,数字的个数用十进制显示,其他字符用十六进制显示 附:DEBUG的基本用法 DEBUG是个调试软件,能比较方便的找到错误,其功能非常强大,使用也比较复杂。我们只介绍简单的用法(不会用DEBUG调试,并不影响考试) (1)-a汇编器,从100H开始 (2)-g执行,-g[地址断点],执行到[地址断点]结束 (3)-a100改100H处程序 (4)-e101改101H地址处的内容 (5)-d100显示内存中的内容;显示机器指令 (6)-u100机器指令〉汇编指令 (7)-q退出 预祝大家顺利通过试验考试! |