微机原理与汇编语言

利用74LS244作为输入接口(端口地址:01F2)连接8个开关K0~K7,用74LS273作为输出接口(端口地址:01F3H)连接8个发光二极管。
编写程序实现下述功能的程序段:
(1) 若8个开关K7~K0全部闭合,则使8个发光二极管亮;
(2) 若开关高4位(K7~K4)全部闭合,则使连接到74LS273高4位的发光量亮;
(3) 若开关低4位(K7~K4)闭合,则使连接到74LS273低4位的发光量亮
(4) 其他情况,不做任何处理.

程序:
START: MOV DX,01F2H
IN AL, DX
CMP AL, 0H
MOV AL 0FFH
JZ DISP
TEST AL,0F0H
MOV AL 0F0H
JZ DISP
TEST AL 0FH
MOV AL 0FH
JZ DISP
JMP START
DISP: MOV DX ,01F3H
OUT DX , AL
JMP START
请问这段程序写的对么?还有为什么START和DISP最后是JMP START为什么不写成JMP STOP呢?如果START和DISP最后写成JMP STOP可以么?请高手帮我解答一下谢谢

JMP START 就是一个死循环呗,跳转到START那句,为的是可以多次读取开关的状态。你要是想让这个程序执行一次就退出当然也可以跳转到别的地方, 但是你没有定义STOP, 就没办法JMP了.
我估计你是不是把START这个标号理解成别的什么东西了,在这里START就是个标号,代表那句“MOV DX,01F2H”的地址,没有什么别的意思, 并不是你所理解的"程序开始".
程序写的肯定不对,问题很大,没有原题没法改,最起码你第一次IN之后得把AL保存一下吧,或者每次TEST AL之前重新IN一下,要不AL都让你给改了,你TEST它有什么用啊?
之所以说没有原题没法改是因为如下原因:
一 不知道开关Ki闭合对应的是0还是1, 你的程序把我搞糊涂了.
二 不知道你所谓的"其他情况,不做任何处理" 是 真的什么都不做 还是 让二极管全都不发光
三 假设开关闭合为1, 那如果开关状态是11111010的话, 我是应该让高四位的二极管发光呢还是什么都不做呢? 按照我对题目的理解好像应该是让高四位发光, 如果这样的话, 楼上 zsq0325 同学的程序就有问题了, 用CMP是不行的.
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-15
不知道你是问微机(cpu)与汇编语言的关系还是微机原理这门课程跟汇编语言的关系。
前者:cpu是靠执行二进制机器代码来工作的,也就是控制微机可以考000000这样的二进制代码,但是考虑到这样的指令代码难以记住,程序可读性很差,不是专业人才基本不用掌握这种,于是又有了汇编,汇编是一种高级语言,但是对于其他高级来说是低级语言,它其实是与二进制指令相映射的,而汇编标识符易于记忆,程序可读性好,而且学会汇编编程,能够很好掌握CPU内部结构等,但是不同的CPU有不同的指令。
后者:微机原理是一门课程,一般就讲数制基础知识,CPU硬件结构,对应汇编语言,汇编程序编程结构,还有存储器啊,I/O,外围芯片等,所以,汇编语言其实只是微机原理这么课程的一部分,它是人与CPU沟通的媒介,学会汇编语言或者其他高级语言才能操作CPU吧
不知道满意否,你可以自己组织一下下,呵呵
第2个回答  2015-12-25
《微机原理》是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。要求考生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。[1]
许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。
汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。
第3个回答  2011-01-15
STRAT是标签啊 所以可以jmp 没有STOP这个标签 所以你编译的时候不会通过的

jmp START 这是又跳转的首部了 这个就是无限循环了
第4个回答  2022-04-01

用74LS244作为输入接口(端口地址:01F2H)连接8个开关K0~K7,

用74LS273作为输出接口(端口地址:01F3H)连接8个发光二极管。

编写程序实现下述功能的程序段:

(1) 若8个开关K7~K0全部闭合,则使8个发光二极管亮;

(2) 若开关高4位(K7~K4)全部闭合,则使连接到74LS273高4位的发光量亮;

(3) 若开关低4位(K7~K4)闭合,则使连接到74LS273低4位的发光量亮;

(4) 其他情况,不做任何处理。

--------------------------------
程序如下:

START: 

  MOV DX, 01F2H

  IN AL, DX   ;读入开关状态

  MOV BL, AL  ;保存

  CMP AL, 0   ;全按下?

  JZ  DISP1   ;去输出全亮

  AND AL, 0F0H ;保留高四位

  CMP AL, 0F0H ;高四位全按下?

  JZ  DISP2   ;去输出高四位亮

  MOV AL, BL  ;恢复数据

  AND AL, 0FH ;保留低四位

  CMP AL, 0FH ;低四位全按下?

  JZ  DISP3   ;去输出低四位亮

  JMP START   ;其他情况,不做任何处理

DISP1:

  MOV AL,  0  ;全亮

  JMP DISP   ;去显示

DISP2:

  MOV AL,  0FH ;高四位亮

  JMP DISP   ;去显示

DISP2:

  MOV AL,  0F0H ;低四位亮

DISP:

  MOV DX, 01F3H

  OUT DX, AL  ;输出显示

  JMP START   ;显示完成,重新去检测

END

汇编语言和微机原理有什么不同?
微机原理中dw与db分别代表:双字和字 double word 和double byte。db和dw都是数据类型描述伪指令,它们告诉编译器为这个变量分配多少内存空间。一、类型的区别:db为字节类型,dw为字类型。二、长度单位的区别:1个db的长度为8位,即一个字节。三、定位的区别:1dw的长度为2db,即16位,两个字节。...

32位微机原理与汇编语言内容简介
最后,本书对微型计算机的输入输出系统进行了详细介绍,包括硬件接口和数据传输方式,这些都是实际应用中不可或缺的知识。通过这样的全方位讲解,本书旨在帮助学生深入理解并掌握32位微机原理与汇编语言,以便在学习和实践中游刃有余。

微机原理与汇编语言的关系?
不知道你是问微机(cpu)与汇编语言的关系还是微机原理这门课程跟汇编语言的关系。前者:cpu是靠执行二进制机器代码来工作的,也就是控制微机可以考000000这样的二进制代码,但是考虑到这样的指令代码难以记住,程序可读性很差,不是专业人才基本不用掌握这种,于是又有了汇编,汇编是一种高级语言,但是对于...

微机原理与接口技术和汇编语言有什么联系?
1.汇编语言服务于微机原理,而微机原理不只是汇编语言。除了汇编语言还有与计算机接口的知识。2.微机原理中的语句。大多就是汇编语言这书中所讲的语句。但是有些他不用到的就没讲。也就是说,微机原理中的语句不全。3、正应为微机原理所用的汇编语句不全,所以才另外出汇编语言的书。以上为本人愚见 ...

32位微机原理、汇编语言及接口技术内容简介
在《32位微机原理、汇编语言及接口技术》中,读者可以系统学习到32位微机的基本组成、工作原理以及操作过程,深入理解微机如何执行指令、处理数据和控制外部设备。此外,本书还详细介绍了汇编语言的语法、指令集和编程技巧,帮助读者掌握如何使用汇编语言进行程序设计。对于接口技术部分,本书全面讲解了微机与...

汇编语言与微机原理教程内容简介
本文档详细介绍了汇编语言与微机原理教程的概要。教程共分为13个章节,全面涵盖了微机的核心内容。首先,读者将对微型计算机进行概述,理解其基本概念。接着,深入探讨8086微型计算机的机器语言指令及其应用,包括常用指令集和汇编语言程序的基础知识。接着,课程将引导学习者进入汇编语言程序设计的世界,通过...

微机原理里的汇编语言与单片机里的汇编语言有什么不同
微机原理讲80x86 CPU的汇编语言,单片机讲某种单片机(通常是8051)的汇编语言,两种CPU的体系结构、应用场合完全不同 80x86用在PC机上,通用寄存器多些,寻址方式、寻址范围多些,CPU内部复杂些,先进结构(流水线、超标量、分支预测)多些,对操作系统的支持(段页式寻址、进程内存保护)多些 8051比80x86...

微机原理与汇编语言程序设计习题解答实验指导和实训内容提要
实验指导部分则通过14个具体实践教学安排,引导读者亲自动手操作,深入理解理论知识在实际中的应用。这些实验设计覆盖了微机原理与汇编语言程序设计的关键环节,使读者能够从实践中学习和掌握技能。而4个综合实训设计题目,则进一步拓展读者的思考与应用能力,通过实际项目设计,提升解决问题的综合能力。本书内容...

微机原理与汇编语言
微机原理主要讲微机的组成、各功能器件的作用及操作控制方式(包括时序)、监控程序等;汇编语言主要讲数的进制、各种进制的相互转化、数在计算机中的表示方式、机器指令码及其简记的汇编码、各种汇编语言指令(包括伪指令)及其功能介绍、汇编语言编程等。微机原理和汇编语言是密不可分的,常常是相互穿插。

求问,学计算机组成原理,是不是要先看看汇编语言
反之,学习汇编语言离不开微机原理知识。有的教科书,例如肖金立编著《微机原理与应用》教材,微机原理与汇编语言的章节是紧密能结合、交叉编排的。所以,若楼主所学的微机原理教材无汇编语言章节,建议先补充汇编语言知识,或在学习微机原理的过程穿插看看学习汇编语言知识。

相似回答