首页 > 编程语言 >8086汇编语言二重循环问题三种处理方法

8086汇编语言二重循环问题三种处理方法

时间:2024-01-28 23:22:59浏览次数:33  
标签:8086 汇编语言 data 二重 db mov si cx bx

1.寄存器保留CX

assume cs:code,ds:data
data segment
    db 'ibm             '  
    db 'dec             ' 
    db 'dos             '
    db 'vax             '
data ends
code segment
    start:
    mov ax,data
    mov ds,ax
    mov bx,0
    mov cx,4 
    s:mov dx,cx
    mov si,0
    mov cx,3
    s0:mov al,[bx+si]
    and al,11011111b
    mov [bx+si],al
    inc si        
    loop s0  
    mov cx,dx
    add bx,16
    loop s 
    
    mov ax,4c00h
    int 21h
code ends
end start

2.内存空间保存CX

assume cs:code,ds:data
data segment
    db 'ibm             '  
    db 'dec             ' 
    db 'dos             '
    db 'vax             '
data ends
code segment
    start:
    mov ax,data
    mov ds,ax
    mov bx,0
    mov cx,4 
    s:mov [40h],cx
    mov si,0
    mov cx,3
    s0:mov al,[bx+si]
    and al,11011111b
    mov [bx+si],al
    inc si        
    loop s0  
    mov cx,[40h]
    add bx,16
    loop s 
    
    mov ax,4c00h
    int 21h
code ends
end start

3.栈空间保存CX

assume cs:code,ds:data,ss:stack
data segment
    db 'ibm             '  
    db 'dec             ' 
    db 'dos             '
    db 'vax             '
data ends   
stack segment
    dw 0
stack ends    
code segment
    start:
    mov ax,data
    mov ds,ax  
    mov ax,stack
    mov ss,ax
    mov bx,0
    mov cx,4 
    s:push cx
    mov si,0
    mov cx,3
    s0:mov al,[bx+si]
    and al,11011111b
    mov [bx+si],al
    inc si        
    loop s0  
    pop cx
    add bx,16
    loop s 
    
    mov ax,4c00h
    int 21h
code ends
end start

标签:8086,汇编语言,data,二重,db,mov,si,cx,bx
From: https://www.cnblogs.com/Mask2024/p/17993609

相关文章

  • 8086汇编push pop 易错点总结
    首先附代码assumecs:codecodesegmentdw0123h,0456hdw0,0,0start:movax,csmovss,ax;设置栈段movsp,0Ah;设置栈顶A是栈偏移movbx,0;偏移movcx,2;设置s:pushcs:[bx]addbx,2loopsmo......
  • 一文掌握汇编语言 halt 命令
    汇编 halt 命令,是一条重复执行指定标号的循环命令。处理器暂停,直到出现中断或复位信号才继续,这篇文章主要介绍了汇编语言 halt 命令,需要的朋友可以参考下−目录汇编语言halt命令补充:halt命令手册参考实例:汇编语言halt命令汇编halt命令,是一条重复执行指定标号的循环命......
  • 2023最新中级难度汇编语言面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-中级难度汇编语言面试题合集问:解释一下宏汇编语言(MacroAssemblyLanguage)是什么?请举例说明如何使用宏汇编语言进行代码开发。宏汇编语言(MacroAssemblyLanguage,MASM)是一种扩展了基本汇编语言功能的编程工具。它允许程序员定义和使用......
  • 2023最新高级难度汇编语言面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度汇编语言面试题合集问:在汇编语言中,什么是宏指令(MacroInstruction)?请解释一下宏指令的概念和使用方式。在汇编语言中,宏指令(MacroInstruction)是一种用于简化代码编写和维护的预处理工具。宏定义允许程序员将一个或多个复杂的指......
  • 二重积分一般计算步骤
    文章目录二重积分计算的一般步骤分析积分区域草图绘制积分区域D的草图,并考虑多元函数奇偶性的角度化简计算讨论奇偶性函数的判断必然蕴含某个区间(区域)内函数是关于某个轴对称的前提条件先定义域区域对称,然后才有函数对称积分区域对称性判断积分区域是否具有对称性如果积......
  • 在8086CPU中,在汇编中字型和字节型有什么区别
    在8086CPU中,字型(word)和字节型(byte)的主要区别在于它们的大小和存储方式。字型数据是2个字节(16位)的数据,可以处理128到127之间的数。字节型数据是1个字节(8位)的数据,可以处理0到255之间的数。举例来说,如果有一个字型数据1234H,那么它会在内存中由两个连续的地址的内存单元组成,高地址内......
  • 汇编语言基础语法,然后什么是汇编语法,比喻一下
    汇编语言是一种低级编程语言,它非常接近于计算机硬件的操作语言。了解汇编语言的基础语法首先需要了解它的核心概念和基本结构。汇编语言的基本概念操作码(Opcode):这是指示计算机执行特定操作的命令,如加法、减法等。操作数(Operand):这是操作码作用的对象,可以是数值、内存地址或者寄......
  • RISC-V 汇编语言分析
    RISC-V汇编语言分析   3.1导言图3.1表明了从C程序翻译成为可以在计算机上执行的机器语言程序的四个经典步骤。这一章的内容包括了后三个步骤,不过要从汇编语言在RISC-V函数调用规范中的作用开始说起。图3.1从C源代码翻译为可运行程序的步骤。这是从逻辑上进......
  • 8086 汇编从翘课到精通
    目录写在前面斐波那契数列前50项求1e8内的质数冒泡排序写在最后写在前面编译器为MASM-v6.11写的一坨屎。斐波那契数列前50项最多支持输出30位十进制数。.modellargeassumecs:code,ss:stackpositionsegment;在屏幕上的输出位置 dw00a0hpositionendss......
  • 【汇编】汇编语言语法
    GNU汇编语法在进行嵌入式Linux开发的时候是绝对要掌握基本的ARM汇编,因为Cortex-A芯片一上电SP指针还没初始化,C环境还没准备好,所以肯定不能运行C代码,必须先用汇编语言设置好C环境,比如初始化DDR、设置SP指针等等,当汇编把C环境设置好了以后才可以运行C代码。所......