ZKX's LAB

关于汇编的疑惑 汇编实验语法原理

2021-04-23知识4

汇编语言编写的程序显示有语法错误 已经调试通过的代码DATA SEGMENTTIMER DB 4 DUP(0)DATA ENDSSTACK SEGMENTDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,0MOV DS,AXMOV SI,18HSHL SI,1SHL SI,1MOV DX,OFFSET CLOCKMOV[SI+2],DXMOV DX,0FF00HMOV AL,00010011BOUT DX,ALMOV DX,0FF01HMOV AL,00011000BOUT DX,ALMOV AL,00000011BOUT DX,ALSTIWAIT1:HLTJMP WAIT1CLOCK PROC FARPUSH AXPUSH SIMOV AX,SEG TIMERMOV DS,AXMOV SI,OFFSET TIMERMOV AL,[SI]INC ALMOV[SI],ALCMP AL,50JNS TRENDMOV AL,0MOV[SI],ALMOV AL,[SI+1]ADD AL,1DAAMOV[SI+1],ALCMP AL,60HJNZ TRENDMOV AL,0MOV[SI+1],ALCMP AL,[SI+2]ADD AL,1DAAMOV[SI+2],ALCMP AL,60HJNZ TRENDMOV AL,0MOV[AL+2],ALPUSH SIMOV SI,0MOV AL,0MOV[SI+2],ALPOP SIMOV AL,[SI+3]ADD AL,1DAAMOV[SI+3],ALCMP AL,24HJNZ TRENDMOV AL,0MOV[SI+3],ALTREND:POP SIPOP AXSTIIRETCLOCK ENDPCODE ENDSEND START

汇编语言程序设计的一般步骤是什么? 汇编语言程序设计的基本步骤 了解了汇编语言指令的功能和用法,了解了汇编语言程序的编写格式,就可以编制完整的汇编语言程序了。一个程序通常具有顺序、分支、循环和子程序4种结构形式。顺序程序结构就是指完全按顺序逐条执行的指令序列。在程序设计过程中,顺序结构大量存在,屡见不鲜。但一个完整的程序只是逐条去执行指令,这非常少见。常见的程序结构,是上述4种结构的混合体。一般来说,编制一个汇编语言程序的步骤如下:(1)分析题意,确定算法或算法思想。算法是指解决问题的方法和步骤。比如现有的一些计算方法和日常生活中解决问题的逻辑思维推理方法等。(2)根据算法画出流程图,简单的情况也可不画。画出描述算法的流程图,可以首先从图上检验算法的正确性,减少出错的可能,使得动手编写程序时的思路更加清晰。(3)分配存储空间和工作单元,合理地使用寄存器。分配存储空间和工作单元,是指存储空间的分段和数据定义。另外,由于寄存器的数量有限,编写程序时经常会感到寄存器不够用。因此,对于字节数据,要尽量使用8位寄存器。而采用适当的寻址方式,也会达到节省寄存器的目的。(4)根据流程图编写程序。这是编制汇编语言程序最为重要的一步。算法里规定的功能,是。

关于汇编的疑惑 呵呵,自学的啊,和我一样呵。关于了解每个指令的用法:我以前是这么弄的。为了了解一个指令的用法,就写一个完整的程序,代价太大,于是我用调试器来弄,当然不是debug了,不直观,学得慢,我用的是Turbo Debugger,“图形界面”,支持鼠标,支持386的大多指令,可以直观地看到指令执行前后各寄存器,堆栈等等的变化,我觉得,有个好工具学习起来也快。关于学习DOS的功能调用么,完全是教科书长久以来的一个习惯而已,学习DOS中断调用,基本上是浪费时间。中断调用么,你自己也可以写啊,干嘛非用DOS的呢,而且,我们现在学汇编,并不是为了写出能在DOS上运行的程序。为什么现在教汇编的,环境都是DOS?因为DOS是实模式的操作系统,而CPU在实模式时,特权级一直都是0级,也就是拥有最高特权级,可以执行几乎所有指令,这样,对指令的学习有好处,而且,要跳入保护模式,也是要从实模式跳进去的,在DOS下,也可以学习从实模式跳入保护模式的编程,进而学习保护模式的编程,进了保护模式后,就有特权级了,这个么,这里不讲,你看看书,自己学就行了。但我觉得,DOS作为学习环境还是有些不自由,当时我学了半年的汇编,微机后,自己做了一个小操作系统,以后的学习,。

#汇编实验语法原理#c语言内嵌汇编语法

随机阅读

qrcode
访问手机版