一个关于汇编语言的菜鸟问题,帮忙详细写出谢列程序段的功能

作者&投稿:一畅 (若有异议请与网页底部的电邮联系)
汇编语言问题,菜鸟请求高手~

dos功能调用9号功能:显示以ds:dx开始的字符串,当遇到一个$时,结束显示。楼主程序中,
lea si,aa
add si,5
mov byte ptr [si],'$'
把字符串中第4个字符改为:$,致使显示前3个字符之后,结束显示,这是导致“只是输出前3个”的症结所在。把这三条指令的后两条删掉即可。

下面,我就从lea si,aa 指令开始,直至显示完整字符串,给出优化的程序段,指令全部用大写字符。
LEA SI,aa
MOV CL,[SI+1]
XOR CH,CH
MOV WORD PTR [SI],0D0AH
ADD SI,CX
INC SI
INC SI
MOV BYTE PTR [SI],'$'
MOV AH,9
INT 21H

王爽的《汇编语言程序设计》第二版 我刚学玩~ 效果很好~~ 还有 书店 论坛 问题不懂 可以上去 提~~有 大侠帮你 解答~

从First向Second复制一个长度为10字节的串,而且是按地址增大的方向复制。具体分析:cld设定方向标志DF=0,在执行串处理指令时可使地址自动增量。movsb把原变址寄存器si指向的数据段中的一个字节传送到目的变址寄存器di指向的一个字节中,同时根据DF增加或减少变址寄存器中的值。rep重复串操作直到cx中的内容为0,每执行一次cx减1。要知道更详细的还是看书比较好。


汇编语言程序设计的一般步骤是什么
如果在键入EDIT命令时未给出源程序文件名,则这时会弹出一个“Save as”窗口,在这个窗口中输入你想要保存的源程序的路径和文件名(本例中为C:\\ASM\\HELLO.ASM)。 注意,汇编语言源程序文件的扩展名最好起名为.ASM,这样能给后面的汇编和连接操作带来很大的方便。3.用MASM.EXE汇编源程序产生OBJ目标文件源文件HELLO....

关于汇编语言输入部分的一个小问题
要数据暂存的话,再用一个寄存器(一般用BX)就可以了。因为输入的都是字符的ASCII码,所以中间要加入字符到数字的转换操作,还要判断输入的是不是合法数字,例如输入字母,要对非法输入进行处理。如果输入超出范围,例如,16进制数只能保存-32768~32767之间的十进制有符号数,如果超过这个范围,也要进行相应...

汇编语言程序设计
请用汇编语言设计一段小游戏,或者汇编语言设计一段程序,这段程序会改变颜色,出声,或者做简单的计算,好了会另加分,谢谢大家,由于好久没玩,现在由于财富值太低,不能给出高分,... 请用汇编语言设计一段小游戏,或者汇编语言设计一段程序,这段程序会改变颜色,出声,或者做简单的计算,好了会另加分,谢谢大家,由于好久...

在汇编语言中经常看到 INT 21H ,这个是什么?什么时候要写它?应写在什 ...
用 mov ah,xx 表示 如果仅仅单击ie浏览器中的 文件 只是让你看到里面有什么功能 所以21h中断号要和它的功能号一起来用 mov ah,xx int 21h --- 当然也有功能号和中断号合为一体的(个人看法)例如 int 20h (调用20h中断 返回)很多初学汇编语言的同学可能会对INT 21H这条指令感到困惑,不知道是...

Windows环境下32位汇编语言程序设计目录
以下是《Windows环境下32位汇编语言程序设计》目录的改写内容:基础篇第1章:背景知识 1.1 Win32平台概述1.1.1 80x86处理器简史1.1.2 Windows发展历史1.1.3 Wintel联盟的作用1.2 Windows特性概览1.3 必要的预备知识1.3.1 80x86处理器工作模式1.3.2 内存管理和特权保护机制第2章:编程环境准备...

汇编语言:1-100的奇数和跟偶数和
\/\/“C”为“1”说明是奇数,跳走 ADD R1 R0 NO: CLR C DJNZ R0 START \/\/循环一百次后结束,累加结果保存在R1中 END 伙计,你看好了,这是51系列单片机下的汇编,我要的就是在代进位位情况下的右移,要的就是把数据的一位溢出到“C”中,以达到提取该位的目的。不溢出才真正坏菜。

汇编语言程序的基本结构并加以详细的解释
HELLO,WORLD进阶汇编程序系列 Editor:admin Time:2004-3-21 12:49 Read:9785 Score:8 Print Writer:LLUCT Excerpt:80x86汇编小站 Preface:感谢网友lluct为本站提供原创...适合初学者学习哦 Content:TITLE ***HELLO,WORLD进阶程序之选择分支 BY LLUCT DATA SEGMENT ;定义数据段 MSG1...

简述上机运行汇编语言程序的过程。
2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入D:\\keil 文件夹中(在大机房,安装在C盘,改为C:\\keil);例如:a.asm。6、将刚建的新文件添入当前的工程中 1)在“工程窗口”中,“目标1”的+号...

汇编语言的问题,多多指教啊
第五个,你看看data segment csreg dw ?ipreg dw ?data ends code segment assume cs:code,ds:data start: cli mov ax,data mov dx,ax mov dx,203h mov al,36h out dx,al mov dx,200h mov ax,5000 out dx,al mov al,ah out dx,al ;初始化8253 mov ax,350dh int 21h mov ax,...

求一个汇编语言的密码校验程序
;密码验证代码,,作业能用 CODE SEGMENT ASSUME CS:CODE,DS:CODE start: MOV AX,CODE MOV DS,AX cld AGAIN: MOV AX,3 INT 10H lea dx,MENU ;主菜单 mov ah,9 int 21h input:mov ah,0 int 16h cmp al,'1'jnz cp2 call sub01 ;输入一个字符串 jmp AGAIN cp2:cmp...

黑龙江省18546804663: 几个简单的汇编问题~~
宇软易维: 1、 (1)寄存器间接寻址 lea bx,table add bx,8 mov dx,[bx] (2)寄存器相对寻址 lea bx,table mov dx,[bx+8] (3)基址变址寻址 lea bx,table mov si,8 mov dx,[bx][si] 2、 Z<--(W-X)/(5*Y)*2 mov ax,w sub ax,x mov bx,2 imul bx push dx push ax mov ax,5 mul y ...

黑龙江省18546804663: 菜鸟请教汇编的一个问题
宇软易维: 存储形式,在数据段,画一下: DS:0000H 00 01 02 03 04 05 31H,32H,33H,34H,35H MOV CL,COUNT 目的寄存器CL值:0BH(十六进制)=11(十进制). $ 表示当前位置,$-S1 为当前位置与S1首址的相对距离.

黑龙江省18546804663: 小菜鸟问个电脑汇编语言的问题 小菜鸟问个电脑汇编语言的问题 -
宇软易维: 我想,主要是个类的概念的引入吧在c语言中,只有结构的概念,就是一组数据的封装,而在C++和Java中,多了个类的概念,即数据和方法的封装,这样封装的好处是可以减轻程序员的工作量,重复调用的模块可以事先封好,要用时再进行调用.

黑龙江省18546804663: 一个菜鸟的汇编问题 -
宇软易维: ;问题在于,你的处理不妥当;下面的代码就可以了;---------------------------------------CRLF MACRO MOV AH,02 MOV DL,0DH INT 21H MOV DL,0AH INT 21H ENDM;---------------------------------------STACK1 SEGMENT STACK DW 256 DUP(?)...

黑龙江省18546804663: 全部分问一个汇编语言的菜鸟问题,谢谢 -
宇软易维: 51单片机指令系统有MOVX指令,是片外寻址.

黑龙江省18546804663: 问个很菜鸟的问题 刚接触汇编 JMP NEAR PTR OPD 中的PTR是什么意思? -
宇软易维: ptr是临时的类型转换,相当于C语言中的强制类型转换 cmp word ptr[si],'#' 是用si所指向的内存的连续两个字节与#比较 要是改成 cmp byte ptr[si],'#' 那就是用si指向的那个存储单元的内容(一个字节)与#比较了 jmp near ptr opd 是无条件转移...

黑龙江省18546804663: 汇编问题,高手请帮忙,下面图片中的结果能帮我分析一下么?请详细形象点,我是菜鸟. -
宇软易维: 应该是41 42 2C 00 D4 FF 41 00 00 00 61 00第一个是A的ASCII码为41,第二个是B的ASCII 码为42 ,因为DATA1是DB定义,所以一个操作数占一个空间后面就是DATA2的定义,由于DATA2用DW定义,所以一个操作数存2个空间,先放低位...

黑龙江省18546804663: 汇编宏指令,菜鸟问题 -
宇软易维: 首先第一句定义宏第2句向AX的高8位写入0EH(15)第3句向AX的低8位写如0DH(14)第4句将10H中的变量加1第5句中是向AX的AX的低8位写如0AH(10)然后将10H中的变量加1这个好像是单片机的控制程序我看象是80C51的吧

黑龙江省18546804663: 新手汇编里关于4个段寄存器的问题 -
宇软易维: 嘿嘿 还是俺来帮你解答吧1 cs是存放程序段首地址的寄存器 该段地址从CS*16开始 有64K空间可以存放用户的程序代码 比如 MOV AX,267 这条指令 就是存在从CS*16开始的代码段中的.267是指令中的操作数 和指令是一体的 都存在代码段中...

黑龙江省18546804663: 菜鸟一个疑问:汇编语言可以做web开发吗 -
宇软易维: 支持楼上的,语言只是个工具,算法才是重要的. 至于楼主提出的那些....仅就个人看法而言: 浏览器脚本js,php,perl貌似都是c编的吧 perl,java不能写真编译,是这语言的设计方向决定的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网