lzth.net
当前位置:首页 >> 关于汇编语言的错误问题 >>

关于汇编语言的错误问题

你这个错误很简单,错误提示也说很很清楚,就是4C00H中的两个数字零"0"你打成了小写字母"o"。 正确的修改方法是将字母“o”换成数字“0”。 你现在所用的解决办法里存在严重的错误。 MOV AX, 4C00H的关键,是将AH设置成4CH。这是使用4CH号DOS功能调...

错误的是D

MOV AX,DS是把数据段的段地址取到AX中,后面应该有把AX再送其他段寄存器,这样,指向同一段地址。 MOV AH,DS,这是错误指令,AH是八位的,不能送十六位的数。 MOV DS,AX 把AX里面的数据赋到DS,前面应该有取段地址给AX,经过AX初始化DS。

像这种:jmp maina1 指令,转移的范围在 +-127字节之内,程序编写大了,超出范围是常有的事。 可以在其范围之内,加个“接力点”,再用LJMP转移一次即可。

第一个LDR是把R1中的值取出放到寄存器R0中LDR:load from register 第二个STR是把R1中的值存入寄存器R0中,STR:store to register 如果是在一个程序中而且是上下句的话R0的值是一样的都是R1中的值

你理解从程序上面执行下来到达 loop s后又去执行标号s处,这没错。然后就无限循环死,这就错了!汇编语言的循环指令LOOP是有条件的,这个隐含操作和条件就是每循环一次,CX=CX-1,如果CX=0,循环就结束了。在这个程序中,循环3次结束。

CODE SEGMENT ASSUME CS:CODE BUFF DB 13,10,'please input a char: ','$' START: PUSH CS POP DS PUSH CS POP ES LEA DX,BUFF MOV AH,9 INT 21H MOV AH,1 INT 21H CALL ISLOW CALL LFCR CMP AH,1 JE @1 MOV DL,AL MOV AH,2 INT 21H JMP @2 @1:...

每次REPET开始,CX是需要检测的字符数,SI是需要检测字符系列一端地址 如对字符系列检测时:abcdefaceda 首次进入,CX=11,SI指向第一个字符 PUSH CX在堆栈保存CX, 循环利用CX,结合LOOP COMP实现整个字符系列遍历检测(所谓的内循环) 取出CX...

汇编语言中堆栈的操作有专门的语句指令。 入栈指令是:PUSH 出栈指令是:POP 比如: MOV A,30H ;将一个压缩BCD码送累加器A PUSH ACC ;压栈保护 ANL A,#0FH ;保留低四位 MOV 30H,A ;回送给30H POP ACC ;出栈 SWAP A ;高低四位互换 ANL A,#0FH ;保...

汇编语言,有很多种。 楼主的题目,是要用 80x86 汇编语言吗?

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com