现在的位置: 首页 > 综合 > 正文

简单程序设计实验

2013年02月18日 ⁄ 综合 ⁄ 共 1199字 ⁄ 字号 评论关闭

1.编写计算的程序

DATA SEGMENT

X DB 29

Y DB 8

Z DB 25

F DW ?

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

MAIN PROC FAR

START: PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DATA ;数据段寄存器DS初始化

MOV DS,AX

 

MOV AL,X ;MOV AL取操作数X

MUL Y ;MUL完成X*Y运算,结果放在AX中

MOV BH,0

MOV Bl,Z

ADD AX,BX ;完成X*Y+Z

SUB AX,500

MOV F,AX ;SUB最后AX送入F中

 

RET

MAIN ENDP

CODE ENDS

END START

2.实现逻辑电路的功能

STACKA SEGMENT STACK

DB 100 DUP (?)

STACKA ENDS

DATA SEGMENT

IN1 DB 00001111B

IN2 DB 10101010B

IN3 DB 11111111B

IN4 DB 11111011B

F DB ?

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

MAIN PROC FAR

START: PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DATA ;数据段寄存器DS初始化

MOV DS,AX

 

MOV AL,IN1

NOT AL

MOV AH,IN2

OR AL,AH

MOV BL,IN3

AND BL,IN4

XOR AL,BL

MOV F,AL

 

RET

MAIN ENDP

CODE ENDS

END START

3.编写一个32位无符号数除法的程序

STACKA SEGMENT STACK

DB 100 DUP (?)

STACKA ENDS

DATA SEGMENT

NUM1 DD 2A8B7654H

NUM2 DW 5ABCH

NUM3 DW ?

NUM4 DW ?

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

MANUM PROC FAR

START: PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DATA ;数据段寄存器DS初始化

MOV DS,AX

 

MOV AX,WORD PTR NUM1

MOV DX,WORD PTR NUM1+2

DIV NUM2

MOV NUM3,AX

MOV NUM4,DX

 

RET

MANUM ENDP

CODE ENDS

END START

4.编写一个"拆字"程序

STACKA SEGMENT STACK

DB 100 DUP (?)

STACKA ENDS

DATA SEGMENT

ARY DB 12H

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

MANUM PROC FAR

START: PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DATA ;数据段寄存器DS初始化

MOV DS,AX

 

MOV SI,OFFSET ARY

mov AH,0

MOV AL,[SI]

MOV BL,10H

DIV BL

MOV [SI+1],AL

MOV AL,[SI]

AND AL,0FH

MOV [SI+2],AL

 

RET

MANUM ENDP

CODE ENDS

END START

抱歉!评论已关闭.