请帮我用汇编指令写一下
程序有问题:
mov ax ,x
add ax ,6
mov dx ,r
add dx ,9
;在这里ax=x+6 dx=r+9
sub ax ,w
neg ax 求反
;到这里时,ax = w -(x+6)
sub dx ,w
neg dx 求反
;到这里时,dx = w - (r+9)
add ax ,dx
;这时ax = ax + dx = w -(x+6) + w - (r+9) ,多加了一个w
mov z ,ax
可以改成:
mov ax ,x
add ax ,6
mov dx ,r
add dx ,9
sub ax ,w
neg ax 求反
sub ax,dx ;w - (x-6) - (r+9)
mov z ,ax
另外如果w可以破坏的话
sub ax,w可以写sub w,ax,这时neg ax不要写,sub ax,dx和mov z,ax要改成
sub w,dx
push w
pop z
运行debug xxx.exe
进入之后
输入a回车(如果要在特定CS:IP写代码就输入a XXXX:XXXX回车)
然后一条一条指令输入回车
想结束就直接回车
然后可以用u指令来翻译用t指令来执行
AND AL, 0F0H
END
2、测试DL寄存器的最低2位是否为零,若是,则将零送入AL寄存器;否则将1送入AL寄存器。
MOV AL, 0
TEST DL, 03H
JZ NEXT
INC AL
NEXT:
END
ARM汇编语言写一个程序段,实现判断R1的值是否小于0x30,是则将R1加上...
这2种我在gnu下都可以编译过,看汇编指令,mov被优化成了mvn指令,如下:0x0008003c e3e01000 mvn r1,#0x00000000
求单片机汇编编程
下面的是正确的.清零:MOV R0, #50H CLR A LOOP: MOV @R0,A INC R0 CJNE R0 ,#5AH,LOOP ;=== 写入01H:MOV R0, #50H MOV A, #01H LOOP: MOV @R0,A INC R0 CJNE R0 ,#5AH,LOOP ;都是仅用五条指令即可完成
汇编加减法的运算指令,最好带上几个例子,用汇编语言,急需
x db ?y db ?z db ?mov al,x sub al,x mov z,al 功能z=x-y
根据以下要求写出相应的汇编语言指令
(1) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节传送到AL寄存器中。MOV AL, [BX + SI](2) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。ADD [BX + 0B2], CX (3) 将AX寄存器中的高8位取反,低8位置1;XOR AH,...
试用汇编语言编写一个程序,把存放在BX寄存器内的值(二进制数)用十六进...
AND DL,0FH ;每次取低四位,来表示一个十六进数 ADD DL,30H ;转化成为ASSIC码 CMP DL,3AH ;判断...用汇编语言编写小程序 汇编语言程序如何进入 汇编语言的形式 汇编语言指令大全 汇编语言用什么编写
各位单片机达人帮个忙 用汇编语言做一个 发光二极管循环点亮的程序 要 ...
ORG 00H JMP MAIN ORG 30H MAIN:MOVA,#0FFH;设置左移初值 CLRC;C=0 MOVR2,#08H;设置左移次数 LOOP:RLCA;左移1位 MOVP1,A;输出到P1 CALLDELAY;延时 DJNZR2,LOOP;左移7次 MOVR2,#07H;LOOP1:RRCA;右移1位 MOVP1,A;输出到P1 CALLDELAY;DJNZR2,LOOP1;右移7次 JMPMAIN DELAY:MOVR3,#...
如何用汇编语言写个小程序“HELLO WORD!”
; Program Name: Hello.ASM Hello SEGMENT ; 以“Hello”命名段 ASSUME CS:Hello,DS:Hello ;代码段和数据段在同一个段空间 ORG 100H ;指令从100H开始 Start: ;程序运行起始位置 MOV AX,3 ; 设置视频显示方式为文本显示,80x25,16色 INT 10H ; 调用视频中断 LEA DX,Prompt_Str ; 装入字符串...
用汇编程序用定时器和中断,编写程序
A1:cmp al,1b ;是否按了ESC键 jnz A2 call first ;重新赋初值,相当于清零 A2:jmp begi 中断程序:irq7:call disp ;调用disp子程序,用来在数码管显示数据 mov si,4000 cmp [si+04],00 ;判断是否按了第2次回车键 je A4 call addn ;调用addn子程序,用来计数 A4...
请高手帮忙用汇编语言写个驱动可控硅的程序!或高速我怎么驱动!
可控硅有过零检测和不过零检测两种,如果你不需要过零检测就用不过零检测的那一种可控硅就行;如果你是把触发控制放在主循环里面的话,肯定每一次循环回去都要触发一下;还有如果你要用脉冲来触发的话,触发电平的时间至少要16个us,也就是说你要加16个NOP指令。
利用汇编语言四条指令,计算乘方
mov ax,1 shl ax,4 此时ax的值就是2的4次方了
原若常态: 是一条指令完成1: 2:的所有功能 (这个不可能实现) 所以,我猜应该是1: 一条指令2: 一条指令1: ADD AX,DX2: ADD BYTE PTR [3B21H],CL
忻城县13466436161: 帮我用汇编语言编个程序.?
原若常态: proc max ; 入口参数: SI为数据首地址,CX为个数 push si ; 出口参数: AX为最大值,BX为其地址 push cx xor ax,ax mov bx,si mov dx,ax std next1: lodsw cmp ax,dx jc nl mov dx,ax mov bx,si nl: loop next1 mov ax,dx pop cx pop si ret endp
忻城县13466436161: 谁能帮我用汇编查表指令来编写下六十秒倒计时程序!!!谢谢 - ?
原若常态: 也就是要60秒吧 从60到0,用P1.0=0 点亮一个led说明到0结束 ORG 0000H LJMP MAIN ORG 000BH LJMP INIT ORG 0030H MAIN:MOV TMOD,#01H SETB EA SETB ET0 MOV TH0,#03CH MOV TL0,#0B0H ;50MS SETB TR0 KK:JMP KK INIT: INC 30H MOV A,30H CJNE A,#20,OUT MOV 30H,#00H INC 31H MOV A,31H CJNE A,#60,OUT CLR TR0 SETB P1.0 OUT:RETI END
忻城县13466436161: 几乎没学过汇编啊,求大神帮我编下这个程序,用汇编语言. - ?
原若常态: mov eax,dword ptr ds:[oxffff006] imul eax,0x7b mov dx,ax
忻城县13466436161: 请编写一段arm汇编指令程序,实现以下功能:a.清空0x30001000开始的0x4000字节 - ?
原若常态: ldr r0, = 0x30001000 mov r1, # 0 movw r2, # 0x1000 qingling: str r1, [r0], # 4 subs r2, # 1 bne qingling
忻城县13466436161: 汇编程序的循环指令怎么写 - ?
原若常态: mov cx,循环次数 beginloop:mov ax,.. .. .. loop beginloop
忻城县13466436161: 用汇编语言编写一个程序1*1+2*2+……+10*10.急用,,会的人麻烦你帮我一下,谢谢了 - ?
原若常态: assume cs:code,ds:datadata segmentOUTPUT db '1*1+2*2+......+N*N=','$'TIME dw 0AH ;0AH(十六进制) = 10(十进制) 这里可以随便调整,比如将0AH 写成 0BH;就能算1*1+2*2+......11*11的值哦TEN dw 0AHdata ends...
忻城县13466436161: 简单汇编指令 - ?
原若常态: (1)(2) add dx,bx (3)(4) add al,[si+bx] (5) mov si,0bf2hadd cx,[bx,si] (6) add ax,2a59hmov [0524h],ax (7) add al,0b5h
忻城县13466436161: 用汇编语言写指令语句:用字符串指令将block开始的n个字符的单元全部填充为'a'?
原若常态: 可以使用串操作指令中的STOS数据串存储指令 lea di,block mov ax,seg block mov es,ax mov al,'a' mov cx,n cld rep stosb 当然也可以用 mov ax,offset block mov bl,'a' mov cx,n LP1:mov [ax],bl loop LP1
忻城县13466436161: 汇编 LEA 指令,请高手帮我详细讲下.?
原若常态: 地址传递.比如:lea bx,[bx+si+10H];意思是:计算bx+si+10H的值后把计算结果存到bx里.可以理解为:mov bx,[bx+si+10H];这只是理解.在汇编语法里因为有些这类运算用mov是不允许的,但用lea却允许.这就是它们的区别.我也从没编译过汇编程序,我顶多用汇编镶入c所以具体你还是自己去实践体会.