用汇编语言编程的计算机

用汇编语言编程的计算机
下面介绍一种通过汇编语言进行编程的计算机。该计算机通过按键输入汇编语言程序,通过数字电路判断汇编语句的因果关系,并实现相关保存到寄存器,像端口输出信号,从端口读取信号的功能。计算机通过按键将汇编程序按行分别输入到按键寄存器1,按键寄存器2…等等。例如,第一行汇编程序通过按键输入到第一行寄存器,第二行汇编程序通过按键输入到第二行寄存器中,一次类推,每个寄存器里面存储一行汇编程序。每个按键上面接上扫描脉冲,扫面脉冲的频率由石英振荡器产生,经过分频后形成周期0.1秒的方波信号。当有按键按下时,信号经过按键进入电路,经过倍频电路放大进入RS触发器。因为RS触发器有记忆功能,几个RS触发器串联就会将按键的脉冲信号变为高电平,这使与门导通,将按键编码器生成的按键二进制编码存储到按键寄存器。每行汇编程序,对应一个判断逻辑的数字电路。这个数字电路按照这条汇编程序的要求去进行对电路的判断。例如,MOV AX,09H,这条汇编语句输入到第3条按键寄存器,电路从第三条按键寄存器里面读取这条汇编语句,电路便将09H这个数据移动到AX寄存器。例如,IN AX,01,这条汇编语句输入到第9条按键寄存器,电路从第三条按键寄存器里面读取这条汇编语句,电路便将09H这个数据移动到AX寄存器。例如,IN AX,01,这条汇编语句输入到第9条按键寄存器,电路从第9条按键寄存器里面读取这条汇编语句,电路便从01端口读取信号,并将信号保存到AX寄存器。例如NEXT1,这条汇编语句输入到第10条按键寄存器。电路从第10条按键寄存器里面读取这条汇编语句,电路执行NEXT1后面的程序,同时将NEXT1后面的语句保存到NEXT1寄存器里面,当需要调用时,重新执行NEXT1寄存器里面的程序。例如CALL NEXT1,这条汇编语句输入到第12条按键寄存器。电路从第12条按键寄存器里面读取这条汇编语句,电路重新执行NEXT1寄存器里面的程序。例如INT TYPE A,这条汇编语句输入到第25条按键寄存器。最后电路将按键输入的程序和运行结果显示到液晶屏上,这个液晶屏和电子表的数字液晶屏类似,每个字母是由很多段液晶组成,当这个字母的编码送到液晶屏驱动电路时,这个字母的液晶段就会发亮,显示这个字母。
相关资料下载网址为:
通过百度网盘分享的文件:汇编语言计算机
链接:https://pan.baidu.com/s/152p2CG1XzrmsHMO3sd4tWw?pwd=8t2v
提取码:8t2v
链接:https://pan.baidu.com/s/1O8z00F2a4inyVo4k_dt6iA?pwd=853t
提取码:853t

微云文件分享:汇编语言计算机下载地址:https://share.weiyun.com/c4S1uiap
「汇编语言计算机」https://www.aliyundrive.com/s/B94No6RAq5D

https://115.com/s/sw6z2a736zv?password=r975#
汇编语言计算机
访问码:r975

https://115.com/s/sw6zuiu33u5?password=q333#
汇编语言计算机
访问码:q333
https://kdocs.cn/join/ge5wqfb?f=101

该计算机采用汇编语言判断电路,处理程序,当输入一段汇编语言时,进行逻辑判断并输出结果。例如:MOV AX,56H;执行后,AX=56H。当按键扫描电路第一段输出MOV时,将寄存器AX,BX,CX等和按键第二段输出的数据比较,如果相同输出高电平,并将但见第三路输出的数据送到该寄存器保存。它由各种语句判断电路组成,根据不同汇编语句判断并执行这些语句。
DSEG SEGMENT 数据定义段开始,第一行
DAT DW 36 定义常量DW=36,第二行
I DW 1 定义变量I的初始值为1,第三行
L DW 1 定义变量L的初始值为1,第四行
DSEG ENDS 数据定义段结束,第五行
START 程序段开始,第六行
PUSH BX BX寄存器清空,第七行
MOV BX,4 将常量4送入寄存器BX,第八行
PUSH AX AX寄存器清空,第九行
MOV AX,DAT 将DAT寄存器里面的数据移动到寄存器AX,第十行
DSQ: DSQ程序段开始, 第十一行
INT TYPE A 调用A中断,第十二行
TIME A,1000S 定时器A打开,计时1000秒,第十三行
IN 05,EX 从EX寄存器向05端口输出数据,第十四行
TIME A,STOP 当经过1000S以后,定时器A关闭,第十五行
IRET TYPEA A中断停止,第十六行

 INT    TYPE B             调用B中断,第十七行

TIME B,2000S 定时器B打开,计时2000秒,第十八行
OUT FX,03 从寄存器FX向03端口发送数据,第十九行
TIME B,STOP 当经过2000S以后,定时器B关闭,第二十行
IRET TYPEB B中断停止,第二十一行

NEXT1: 程序段NEXT1,第二十二行
FOR I<1000 当I小于10000时,执行下面的程序,第二十三行
ADD I,1 变量I加1,第二十四行
ADD BX,I 寄存器BX里面的数据加上I的数据,第二十五行
CMP AX,BX 比较寄存器AX和寄存器BX里面的数据的大小,第二十六行
JGE NEXT2 如果BX的数据大于AX的数据,跳转到NEXT2,第二十七行
XCHG AX,BX 同时交换AX和BX里面的数据,第二十八行
NEXT2: 程序段NEXT2,第二十九行
MUL AX,5 AX寄存器里面的数据乘以5,第三十行
IF 当下列条件满足时,第三十一行
INPUT “SHU RU SHU JU” 从键盘输入 “SHU RU SHU JU”,第三十二行
THEN 执行,第三十三行
OUTPUT “DINGSHIQI KAI” 让显示器显示 “DINGSHIQI KAI”,第三十四行
CMP AX,1000 比较寄存器AX和1000的大小,第三十五行
JGE NEXT1 如果AX的数据大于1000,跳转到NEXT2,第三十六行
NEXT3: 程序段NEXT3,第三十七行
MOV DX,BX 将寄存器BX的内容移动到寄存器DX,第三十八行
CALL DSQ 执行DSQ程序段,第三十九行
RET 结束循环,第四十行
START END 程序结束,第四十一行
例如:用键盘输入上述程序,键盘扫描电路按每行输出一条指令,当按键扫描电路输出DESG SEGMENT时,程序进行执行阶段。

该计算器首先通过晶振产生32768HZ的谐振方波信号,再经过分频电路将这个方波信号的频率降低为100HZ,,即周期为0.01秒,再将这个100HZ的信号接入到按键的公共端,按键共有60个,它们的一端接到一起,另外一端分别接到倍频器上。相当于这些按键并联在一起,当某个按键被按下时,100HZ的信号就会接入到倍频器上,经过倍频后,频率变为1HZ。为什么按键上面的频率是100HZ,这是因为100HZ的频率,周期是1毫秒,通常使用者按下按键的时间在1毫秒左右,所以,只有这个频率的信号才会在按下按键时输入到后级电路中。键值编码电路由二进制编码电路组成,当有按键按下时,对应的按键输出端输出对应的按键编码。每个按键的输出端接上或门,或门两两相接,最后输出一个或门,当有任何计算按键按下时,或门输出高电平,这个或门在和每个按键的输出端接上与门,这些与门在两两之间接上或门,最后一个或门接上按键寄存器。当第一个按键按下时,按键输出按键代码到按键寄存器的第一个存储器,当第二个按键按下时,按键输出按键代码到按键寄存器的第二个存储器,当第三个按键按下时,按键输出按键代码到按键寄存器的第三个存储器,这样以此类推,按键将按键键值按顺序输入到按键寄存器,里面保存起来。按键寄存器连接到计算机的CPU的IO端口,当有按键寄存器里面的字符组成一个汇编语言,语句时,CPU执行相应的操作。例如:当按键输入MOV AH,0,计算机CPU就将0移动到AH寄存器里面。
下面内容可参见《全国计算机等级考试三级教程PC技术》,张福炎主编,高等教育出版社2002年出版。

当RS触发器的输入端R,S都是1时,触发器保持输出端没有变化。利用这个特点,当按键输入高电平1时,电路输出高电平1给存储器,当按键断开输入低电平0时,RS触发器仍然给存储器输入1,当清零键按下时,RS触发器的S端输入0,触发器给存储器输入0,存储器清零。

当有按键按下时RS触发器Q输出1, Q 输出0,按下清零键以后,RS触发器Q端输出0, Q 端输出0。将寄存器1,寄存器2,寄存器3…等等里面的数据和键盘输入的数据比较,但两者数据相同时输出该数据到第一路输出,第二路输出…等等各路输出。
当开始输入时,按清零键,计算机按键输入为0.此时,开始输入字符,将字符输入到寄存器1。
当输入3个或4个字符,按下空格键以后,将后面的按键输入到寄存器2。
当输入3个或4个字符,按下,键以后,将后面的按键输入到寄存器3。
当输入3个或4个字符,按下回车键以后,将后面的按键输入到寄存器4。
计算机CPU结构图

将寄存器1,寄存器2,寄存器3…等等里面的数据和键盘输入的数据比较,但两者数据相同时输出该数据到第一路输出,第二路输出…等等各路输出。当寄存器1有输出时,将寄存器1的输出到第一段输出。当寄存器2有输出时,将寄存器2的输出到第二路输出。

按键扫描电路,扫描按键寄存器,当按键寄存器有数据时,便将数据输入到语句判断电路。
语句判断电路查询按键扫描电路输入的按键,当符合一条汇编语句时,执行这条汇编语句。
语句执行电路,按照语句判断的输出,执行这条语句,输出到CPU端口并执行。

第一部分汇编语言判断电路
当按键第一路输出MOV和下面的MOV按键二进制编码相同时,同或门输出高电平,同或门后级的与门导通,检测第二路按键输入。

当按键扫描电路第二路输出和AL的字母按键编码相同时,同或门输出高电平,它后级的与
门导通,将按键扫描电路的输出的数据输入到寄存器AL中保存。

当按键扫描电路第一段输出MOV时,将寄存器AX,BX,CX等和按键第二段输出的数据比较,如果相同输出高电平,并将但见第三路输出的数据送到该寄存器保存。

当按键第一路输出XCHG和下面的XCHG按键二进制编码相同时,同或门输出高电平,同或门后级的与门导通,检测第二路按键输入。
经过和按键输出的第二路代码进行判断后,经第二路代码寄存器的数据存储到存储器A。再将存

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
频率比较器介绍: 频率比较器电路是用来从两个输入信号的频率比较中获得一个参考电压水平。 频率比较器电路板截图: 频率比较器电路分析: 该电路由两个输入信号组成,其中的一个使电容器部分地放电,同时,另一个使其充电的。电容器上的平均电荷(所需的参考电压电平)将因此成为这两个输入频率的函数。该“参考”电容器是电路图中的C1。在静止状态,电容器将通过由R3和R4 组成的分压器充一半的电压 其中一个信号供给晶体管T1的基极,晶体管T1将根据输入频率开关。 该电路的作用是产生一系列与输入信号频率相对应的脉冲。该脉冲用来控制晶体管T2,晶体管T2继续进行开关,从而让C1再次以输入1频率脉冲放电。最终 C1将被完全放电,但是这是电路另一端的活动来呈现的。T4侧的输入驱动另一个由T3,C3和D 2组成的二极管泵,并试图再次以对应于输入2频率的短脉冲为C1充电。最终结果是,与两个输入平频率相比,C1产生了一个平均参考充电水平。 如果两个输入频率是一样,充电和放电周期C1将会相同并且因此通过C1的电压水平等于电源电压的一半。如果输入1的频率低于输入2的频率,那么通过电容器C1的电压将高于4.5V。如果输入1的频率比输入2的频率高,那么通过电容器C1的电压将会低于4.5V. 频率比较器电路测试: 出于测试目的,我们将一个5Khz的输入频率连接至连接器K1,并将一个2.5Khz频率连接至连接器K2,设备由与连接器K3相连的9V电源供电。由连接器K4来检查输出电压,我们发现,由于连接器K1上的频率大于K2上的频率,输出电压读数为3.7(小于输入电压的一半,9V/2 = 4.5V) 接下来,我们反接了K1和K2处的输入频率,然后读出输出电压,观察到电压高于4.5V(电压值读数为5.3V)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值