微机实验程序

更新时间:2023-11-14 16:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验2 EDIT,MASM,LINK的使用

实验内容:在内存X-NUM和Y-NUM单元存有42和-43,利用汇编语言程序编程设计计算这两数字和,

结果放入S-NUM单元 DATA SEGMENT X DB 42 Y DB -43 S DB ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,X ADD AL,Y MOV S,AL MOV AH,4CH INT 21H CODE ENDS END START

实验3 循环程序设

标签: 教育

实验3 循环程序设计

实验内容:1.现有数组X,Y. X=32,-43,76,95,-1; Y=-78,127,-128,-125,88.

计算这两个数组之和,结果送到另一组数, 即S(i)=X(i)+Y(i) DATA SEGMENT X DB 32,-43,76,95,-1 Y DB -78,127,-128,-125,88 COUNT EQU $-Y

S DB COUNT DUP(?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET X MOV DI,OFFSET Y L1:MOV AL,[SI] MOV AH,[DI] ADD AL,AH MOV S[SI],AL INC SI INC DI LOOP L1 MOV AH,4CH INT 21H CODE ENDS END START

实验内容:2.现有两个多位十进制数:X=1357902468,Y=5790123467 计算X+Y之和(BCD码加法),结果送到Z.

DATA SEGMENT

X DB 68H,24H,90H,57H,13H

Y DB 67H,34H,12H,90H,57H COUNT EQU $-Y Z DB 6 DUP(?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,COUNT MOV SI,OFFSET X MOV DI,OFFSET Y L1:MOV AL,[SI] MOV AH,[DI] ADC AL,AH DAA

MOV Z[SI],AL INC SI INC DI LOOP L1 MOV AH,4CH INT 21H

CODE ENDS END START

实验4 子程序调用编程设计

实验内容:现有数组X=32,-43,76,95,-1,-78,127,-128,-125,88 编程按递增顺序排序,排序后的数据复制到附加段内。 1.无子程序结构。

DATA SEGMENT

X DB 32,-43,76,95,-1,-78,127,-128,-125,88 COUNT EQU $-X DATA ENDS EXTRA SEGMENT Y DB COUNT DUP(?) EXTRA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:EXTRA START:MOV AX,DATA MOV DS,AX MOV AX,EXTRA MOV ES,AX MOV CX,COUNT MOV SI,0 DEC CX

L1:MOV DX,CX L2:MOV AL,X[SI] CMP AL,X[SI+1] JL L3

XCHG AL,X[SI+1] MOV X[SI],AL L3:INC SI LOOP L2 MOV CX,DX MOV SI,0 LOOP L1 MOV CX,COUNT L4:MOV AL,X[SI] MOV Y[SI],AL INC SI LOOP L4 MOV AH,4CH INT 21H CODE ENDS END START 2.子程序调用结构 DATA SEGMENT

本文来源:https://www.bwwdw.com/article/vymv.html

Top