微机原理实验报告(两个32位无符号数乘法程序以及码制转换程序设

2018-11-12 20:55

微机原理实验报告

姓名: 班级: 学号:

时间:

实验名称:基本汇编语言程序设计 实验一:两个32位无符号数乘法程序 实验二:码制转换程序设计

<1>十六进制到ASCII <2>从二进制到ASCII

一、程序流程图

1、两个32位无符号数乘法程序:

2、十六进制到ASCII

二、程序的实现: 1、实验一程序:

NAME 32 BIT MULTIPLY DATA SEGMENT

MULNUM DW 0000,0FFFFH,0000,0FFFFH,4 DUP(?) DATA ENDS

STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START PROC FAR BEGIN: PUSH DS MOV AX,0 PUSH AX

MOV AX,DATA MOV DS,AX MOV ES,AX LEA BX,MULNUM MULU32: MOV AX,[BX] MOV SI,[BX+4]

MOV DI,[BX+6] MUL SI

MOV [BX+8],AX MOV [BX+0AH],DX MOV AX,[BX+2] MUL SI

ADD AX,[BX+0AH] ADC DX,0

MOV [BX+0AH],AX MOV [BX+0CH],DX MOV AX,[BX] MUL DI

ADD AX,[BX+0AH] ADC DX,[BX+0CH] MOV [BX+0AH],AX MOV [BX+0CH],DX PUSHF

MOV AX,[BX+2] MUL DI POPF

ADC AX,[BX+2] ADC DX,0

MOV [BX+0CH],AX MOV [BX+0EH],DX RET

START ENDP CODE ENDS END START

2、实验二的程序: 1)

NAME HEX_CHANGE_TO_ASCII DATA SEGMENT L1 DW 2

STRING DB 34H,98H L2 DW ?

BUFFER DB 2*2 DUP(?) DATA ENDS

STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START PROC FAR BEGIN: PUSH DS MOV AX,0 PUSH AX

MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,L1 LEA BX,STRING LEA SI,BUFFER MOV L2,CX MOV CX,AX AGAIN: MOV AL,[BX] MOV DL,AL

AND AL,0FH CALL CHANGE MOV AL,DL PUSH CX MOV CL,4 SHR AL,CL POP CX

CALL CHANGE INC BX

RET START ENDP CHANGE PROC CMP AL,10 JL ADD_0 ADD AL,'A'-'0'-10 ADD_0: ADD AL,'0'

MOV [SI],AL INC SI

RET CHANGE ENDP CODE ENDS END START

2)

NAME BINARY_TO_ACSII DATA SEGMENT NUM DW 4F78H

STRING DB 16 DUP(?)

DATA ENDS

STACK SEGMENT PARA STACK'STACK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START PROC FAR BEGIN: PUSH DS

MOV AX,0 PUSH AX

MOV AX,DATA MOV DS,AX MOV ES,AX LEA DI,STRING

MOV CX,LENGTH STRING PUSH DI PUSH CX MOV AL,30H ;REP STOW POP CX POP DI

MOV AL,31H MOV BX,NUM AGAIN: RCL BX,1 JNC NEXT MOV [DI],AL NEXT: INC DI LOOP AGAIN RET START ENDP CODE ENDS END START

三、实验感想:

在实验的过程中,照着书上慢慢的去了解那些代码的含义,并且将代码出现的error改错,后来回到寝室发现在学校的电脑没有了error的程序而在自己的电脑运行时出现error,后来又将程序修改发现了最后部分的begin改为start就能运行。这次实验让我收获良多。


微机原理实验报告(两个32位无符号数乘法程序以及码制转换程序设.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新小学三年级口语交际专项检测题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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