西交大微机原理与接口技术实验报告

2026/4/27 21:26:27

【程序源代码】 DATA SEGMENT

ORG 2000H ;数据存放在2000H开始的单元

BCD DB 20H,28H,49H,88H,0A4H,0B3H,83H,30H,44H,01H DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV SI,2000H ;地址指针置初值 MOV CX,10 ;字节数送CX

MOV DL,80H ;最小的有符号的字节数据,即负数最小值 L1: LODSB ;从SI所指单元取一个字节送AL,SI+1->SI CMP AL,DL ;比较带符号数(AL)>(DL)么? JNG L2 ;(DL)大则跳转L2 MOV DL,AL ;DL指向内容小则交换 L2: LOOP L1 ;字节未比较完则继续

MOV DS:[2000H],DL;最大数存放在2000H单元 MOV AH,4CH INT 21H

4

CODE ENDS

END START

【程序运行结果】

运行:BCD DB 20H,28H,49H,88H,0A4H,0B3H,83H,30H,44H,01H

结果:BCD DB 49H,28H,49H,88H,0A4H,0B3H,83H,30H,44H,01H 最大的数为49H,存放在DS:2000H单元中。

实验1.3:教材P195,第6题

试编制一程序,用乘法指令实现32位二进制数与16位二进制数相乘。 【实验原理】

设A、B为被乘数的高、低16位二进制数,C为16位二进制乘数,通过分析可知,共需进行两次乘法运算,每次进行两个16位二进制数的乘法,共得到两个部分积,然后再求部分积累加和。 【程序框图】

开始计算BxC计算结果低位存放在M3中,高位存放在M2中。计算AxC计算结果低位与M2中值相加并存放在M2中,使用带进位的加法指令将高位存放在M1中。结束

5 【程序源代码】 DATA SEGMENT ORG 1000H

N1 DW 1234H;A数 N2 DW 5678H;B数 N3 DW 4444H;C数 ORG 1010H

M1 DW 0 ;存放结果的高16位 M2 DW 0 ;存放结果的中间16位 M3 DW 0 ;存放结果的低16位

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA MOV DS,AX MOV AX,N2

MUL N3 ;BxC MOV M3,AX MOV M2,DX MOV AX,N3

MUL N1 ;AxC ADD M2,AX ADC M1,DX MOV AH,4CH INT 21H

CODE ENDS END START

【程序运行结果】

执行:12345678Hx4444H= 04DABCDED7E0H 乘数和被乘数存放在:DS:1000H中 相乘结果存放在:DS:1010H

6

实验1.4:教材P196,第12题

设有两个等字长,字节型字符串,试编写一汇编程序,比较它们是否完全相等,若 相等则将字符Y送入AL中,否则将字符N送入字符中。 【实验原理】

首先分别将要比较的字符串1和字符串2的首地址送入SI、DI中,然后利用重复指令REPZ和字符比较指令CMPSB,逐字符比较,若发现不等,则结束比较输出“N”;若相等则比较下一字符直到字符串结束。 【程序框图】

7


西交大微机原理与接口技术实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 西交大微机原理与接口技术实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219