微机原理大作业课程设计(微机原理作业答案)
微机原理课程设计:打印输出所有水仙花数(汇编程序)要求:提示“Enter 键输出所有水仙花”按键后换行输出
assume cs:code
data segment
num db 0,0,0
data ends
code segment
;将百位数ax的值百位存到num[0],十位num[1],个位num[2]
init:
push ax
push bx
push cx
push dx
push bp
mov bp,10
lea bx,num
add bx,2
mov cx,3
init1:
xor dx,dx
div bp
mov ds:[bx],dl
dec bx
loop init1
pop bp
pop dx
pop cx
pop bx
pop ax
ret
;将num[]的三个数输出
print:
push ax
push cx
push dx
lea bx,num
mov cx,3
print1:
mov dl,ds:[bx]
add dl,30h
mov ah,2
int 21h
inc bx
loop print1
mov ah,2
mov dx,10
int 21h
pop dx
pop cx
pop ax
ret
;将num[3]的每个数的3次方相加保存到ax
calc:
push bx
push cx
push dx
push si
push bp
xor si,si
mov cx,3
lea bx,num
calc1:
mov al,ds:[bx]
mov ah,0
mov bp,ax
mul bp
mul bp
add si,ax
inc bx
loop calc1
mov ax,si
pop bp
pop si
pop dx
pop cx
pop bx
ret
start:
mov ax,data
mov ds,ax
mov cx,99
s:
inc cx
cmp cx,999
ja exit
mov ax,cx
call init
call calc
cmp ax,cx
jne s
call print
jmp s
exit:
mov ah,4ch
int 21h
code ends
end start

微机原理课程设计-多路数据采集系统
8086CPU 没有用过·~ 帮不了你··不过思想可以跟你说说 重在编程!
微机原理课程设计:通过使用软件延时,编写一个程序,在屏幕上依次显示9、8、7。。。1、0十个数字。。。
????????CODE??SEGMENT
??????????????ASSUME????CS:CODE
??????START:
??????????????MOV???????CX,3????????;?设外循环?3次
?????????@0:
??????????????PUSH??????CX
??????????????MOV???????CX,10???????;?设内循环?10次
?????????@1:
??????????????MOV???????AH,2
??????????????MOV???????DX,CX
??????????????DEC???????DX??????????;?将内循环变量?减一?后输出
??????????????OR????????DL,30H
??????????????INT???????21H
??????????????MOV???????AX,18???????;?延时?18?个单位?,约等于1秒
??????????????CALL??????DELAY_PROC
??????????????LOOP??????@1
??????????????CALL??????LFCR????????;?换行回车
??????????????POP???????CX
??????????????LOOP??????@0
??????????????MOV???????AH,4CH
??????????????INT???????21H
?
???????LFCR:??PUSH??????AX
??????????????PUSH??????DX
??????????????MOV???????AH,2
??????????????MOV???????DL,13
??????????????INT???????21H
??????????????MOV???????DL,10
??????????????INT???????21H
??????????????POP???????DX
??????????????POP???????AX
??????????????RET
?
;===============================================================??????????????
??DELAY_PROC??PROC??????NEAR????????;延迟子程式,??延迟???ax/18秒
??????????????PUSH??????ES
??????????????PUSH??????DX
??????????????MOV???????DX,40H
??????????????MOV???????ES,DX
??????????????MOV???????DX,ES:[006CH]???????????;取系统1/18秒计数
??????????????ADD???????DX,AX???????;?延时?x/18
????DELAY10:
??????????????CMP???????ES:[006CH],DX???????????;时限到了?
??????????????JBE???????DELAY10?????;没
??????????????POP???????DX
??????????????POP???????ES
??????????????RET
??DELAY_PROC??ENDP
;============================================================
????????CODE??ENDS
??????????????END???????START
微机原理课程设计编程???加法练习程序 谢谢
这个比较复杂,说说大概的步骤吧
要先做一个RANDOM的随机种子的子程式,其实是伪随机过程,指定一个比较复杂的算法,然后根据该子程式输出的结果来产生随机的加法算式。产生一个被加数N1,产生一个加数N2。
然后用ADD运算加法,将结果存进RESULT内
显示N1+N2:此时将2进制转化为ASC2码,将2进制除以10,余数分别是个位十位百位,每位+30H形成该数字的ASC2码存进DISPLAY 8字节中(前三个字节装N1,后三个字节装N2,中间那个装'+'的ASC2符号,还有个“=”号。最后还要有个'$'以标示字符串输出结束)
用一3字节BUF存用户输入的字符,里面是ASC2码
将BUF内的ASC2码转化为2进制,与RESULT内的结果进行比较,相等就显示RIGHT内的字符,错误就显示ERROR内的字符
然后显示“R:GO ON! Q:QUIT!”
判断键盘输入时R还是Q
R,JMP到最开始
Q:用INT 21H,功能号4CH返回DOS
每进行一次,RANDOM的随机种子子程式都调用一次,保证产生不同的加法
微机原理流水灯
微机原理课程设计
流水灯控制系统 姓名:XX 学院:物理电气信息学院 班级:2010电子 姓名:…
流水灯控制系统
一、设计内容:
本课程设计选用8086对8255A的A口控制来实现模拟流水灯功能的实现。编写相关程序,通过proteus仿真软件来实现我名字“安亮”两个字的闪烁,“安”字接8255的A口的P0,“亮”字接A口的P1。先让“安”字和“亮”字同时点亮,再让两个字同时暗,接着让“安”字点亮,再让“亮”字点亮,然后让“安”字和“亮”字同时亮暗闪烁八次,再跳到开始,以此循环。
二、设计目的: 1、了解流水灯的基本工作原理 2、熟悉8255A并行接口的各种工作方式和应用 3、利用8255A接口,LED发光二极管,设计一个流水灯模拟系统,让我的名字“安亮”两个字按一定规律点亮。 三、实验原理 在8086系统中,采用16位数据总线,进行数据传输时,CPU总是将低8位数据线上的数据送往偶地址端口,而过高8位数据线上的数据送往奇地址端口反过来,从偶地址端口取得的数据总是通过低8位数据线传送到CPU,从奇地址端口取得的数据总是通过高8位数据线送到CPU。在8086系统中,将8255A的A1端和地址总线的A2相连,而将8255A的A0端和地址总线的A1相连,并且,CPU在对9255A的端口进行访问时,将地址总线的A0位总是设置为0。本课程设计通过对8255A的A口控制来实现模拟流水灯功能的实现。“安”接A口的P0,“亮”接A口的P1,实现两个字按一定规律的一个闪烁。
8255的内部结构
255A内部结构由以下四部分组成: 数据端口A、B、C;A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器。 端口A:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。 端口B:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输
微机原理课程设计. 波形发生器(在实验系统TDN86/88上实现)
机械吧
我也提问了没人回答
好不容易有个人竟是做广告的