汇编:cmp byte ptr ds:[bx+256-cx],0怎么改才对,在线等

如题所述

cx寄存器不能用来进行基址加变址寻址,可改为si、di等
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-04
不知道说的对不对,你自己试一试
我觉得是你的寻址方式不对,把cx的值给了si,然后cx改成si
把cx的值给了si
第2个回答  2012-12-04
mov cx,si
cmp byte ptr ds:[bx+256-si],0
第3个回答  2011-11-02
改成这两句吧
LODSB
CMP AL,22

7m
1u

求助,当年ACM最经典的用汇编实现3D效果的程序。
pop bx ; Restore pointer into bx push ax ; Save sine on stack add bx,64 ; Add 64 to get cosine and bx,11111111b ; Range from 0..255 shl bx,1 ; *2 coz it’s a word mov ax,[SinCos bx] ; Get cosine mov bx,ax ; Save it bx=Cos pop ax ; Restore ax=Sin ret ENDP GetSi...

汇编复习资料
2.设 AH=79H, 当执行指令 ADD AH,98H后,标志位CF 和OF的值分别为 ()C 1, 0(OF是看加数与和的符号是否相同,是0,否1)3.下列指令正确的是 (A)A.CALL FAR PTR AX B. CALL FAR PTR [AX]B.CALL FAR PTR [BX] D. CALL FAR PTR [DX]4.JMP BX 的指令寻址方式是 ()A. ...

汇编语言程序设计题
7、设(CS)=2A31H,(DS)=9300H,(SS)=25F0H,(BP)=0131H,(SI)=0110H,(DI)=0102H,则指令MOV AX,[BP+SI+8]的源操作数有效地址为___,物理地址为___。 8、设(AX)=1000H,(BX)=2340H,则在执行了指令CMP AX,BX后,CF标志值为___,ZF标志值为___。 9、外设的发出中断请求若被CPU响应,有两...

用8086汇编语言编写程序键盘输入一段字符以#结束,统计其中数字、字母...
mov bx, offset SHEX add bl,dl mov dl, byte ptr [bx]mov ah,2 int 21h pop ax loop PRINTLOOP ret PrintLen endp CountInputData proc near mov ch,0 mov cl, byte ptr[BUFF+1]mov si, offset BUFF+2 MYLOOP:mov al, [si]inc si cmp al,20h ;' '空格 je CCOUNT1 cmp ...

8086、8088汇编指令大全
1)如(CX)=0则退出REP,否则往下执行.2)(CX)<-(CX)-13)执行其中的串操作4)重复1)~3).MOVS 串传送指令格式:可有三种MOVS DST,SRCMOVSB(字节)MOVSW(字)其中第二、三种格式明确地注明是传送字节或字,第一种格式则应在操作数中表明是字还是字节操作,例如:MOVS ES:BYTE PTR[DI],DS:[SI]执行的操作:1)...

所有PC机中的CPU指令系统相同吗?
XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL\/AX\/EAX ) XADD 先交换再累加.( 结果在第一个操作数里 ) XLAT 字节查表转换. ── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即 0-FFH); 返回 AL...

用汇编实现命令行中COPY命令的功能,急(需1月10日前解决)!!!_百度知 ...
mov cl,BYTE ptr es:[bx]cmp cl,4 jae Next0 ;命令行参数多余或等于4个字符,转去分解、处理参数 Output Prompt_Str3 ;提示:命令行参数字符太少 jmp Exit_Proc ;结束程序 Next0: push es pop ds push cs pop es xor ch,ch push cx lea si,[bx][2]lea di,File...

清零程序(把RAM区内4000H-40FFH单元内容) 汇编语言
data endscode segment assume cs:code ds:dataORG 100HXOR AX,AX ; 置AL=0MOV DI,4000H;置起始指针查了下是DI。而且DI有DF控制方向。CLD ;表示DI增MOV CX,OFFSET RAM_END - OFFSET RAM_START;置计数器REP STOSB ;重复用AL置目标区域的字节值,自动增加目标偏移。INT 3为什么违反协...

汇编:从键盘上输入两个十进制数正数(<32767),相减并显示结果。_百度知 ...
mov dx,cx :lea si,da1 ;设置缓冲区 add si,10 mov byte ptr [si],'$' ;设置结束符 dec si mov byte ptr [si],'0'cmp dx,0 je putout ;如果相减为0,则输出0 inc si mov ax,dx mov bx,10 :cmp ax,0 je putout dec si xor dx,dx div bx add dl,30h mov [s...

用8086汇编语言编写程序,从键盘输入一段字符,以#结束,统计其中数字,字母...
ax, data mov ds, ax mov es, ax;code start here; read string lea dx, buf mov ah,0ah int 21h; xor cx, cx mov cl, buf+1 mov si, 0Loop1: mov al, buf[si+2] cmp al, '#' jz lopend cmp al, 20h jz space cmp al,...

相似回答