首页 文章
  • 0 votes
     answers
     views

    以8086汇编语言存储和检索内存中的数字

    我是8086汇编语言的初学者 . 我想先尝试一些简单的东西 . 如何写一个程序,输入一个数字,说 x ,将它存储在内存中,然后再加载到寄存器中,然后显示它? 我做了这样的事情: .MODEL SMALL .DATA NL2 DB 0AH,0DH,'Enter a number:','$' .CODE MAIN PROC MOV si, 100d LEA ...
  • 2 votes
     answers
     views

    汇编:最大数量:不正确比较

    .MODEL SMALL .STACK 100h .data bigger db 0 mensaje db 0AH,0DH,'Finding the biggest number','$' mensaje1 db 0AH,0DH,'Write 5 numbers to compare','$' mensaje2 db 0AH,0DH,'Number: ','$' resultadomayor db...
  • 1 votes
     answers
     views

    在程序集8086中找到给定数组中的最小值

    我编写了一个代码来计算给定数组中的最小值,并且想法是取第一个元素(考虑它是最小值)并将其与其余元素进行比较然后交换值以防我找到更小的元素,这里是我的代码: array dw 7,4,12,5,1 mov si,00h mov ax,array[si] mov cx,5 minimum: inc si ;find the minimum value mov dx,array[si] cm...
  • 0 votes
     answers
     views

    8086微处理器的汇编语言[关闭]

    来自stackoverflow的亲切的人 . 所以我是汇编语言的'greenhorn',但是我喜欢编程而且我雄心勃勃,所以最终我也将掌握汇编,但在那之前我需要你的帮助解决问题 . So, i have to write a program for the 8086 microprocessor, that finds all the factors(divisors) of a given n...
  • -4 votes
     answers
     views

    如何在汇编语言8086中切换低位

    首先,我是汇编语言的初学者,现在我正在研究微处理器 . 我们编写了一些小程序 . 但是,我正在开发名为“基本加密方案(BES)”的程序,其目的是切换用户输入的字符的低位 . 然后,从1-9获取输入并将其添加到切换的字符 . 最后,打印出来 . 例如,如果输入字符为A且输入键值为6.程序应采用ASCIl值A,01000001,切换位[o:o],生成01000000,然后添加输入值键,6 . 最终输出...
  • 0 votes
     answers
     views

    用汇编语言8086创建链表

    你能在特定的内存位置/地址中读写数据/字符串吗?我打算在8086制作一个链表,但我不知道如何从特定的内存地址读取数据以及如何使用相同的变量将数据存储在不同的内存地址中 . 这可能吗?如果有,怎么样?
  • 1 votes
     answers
     views

    没有回车的新行汇编语言

    我在dosbox程序集上做一个程序,我在对角线上打印0到9 . 这是我目前的代码 code segment assume cs:code, ds:code org 100h start: mov ah, 02h mov dl, 30h mov ch, 30h int 21h again: inc dl ;output next number mov bl, dl mov dl, 0ah ;n...
  • 7 votes
     answers
     views

    如何在x86程序集中检查密钥状态?

    我在今年1月份将x86程序集作为业余爱好,因此我可以制作适用于旧PC 80和Tandy 1000等老式8086计算机的游戏,但我找到的书并没有完全讲授这个特定主题 . 虽然有些dos和bios中断了这项工作,但它们远非完美 . 我的主要问题是在不停止程序的情况下读取按键的键盘状态 . 我发现了一些方法,但它们非常有限 . INT 21h,AH 0Ch读取最后按下的键,但采用文本编辑方式 . 它不...
  • 4 votes
     answers
     views

    8086无OS编程;分割

    好吧,这是一个难以处理的问题,因为它处理了很多硬件细节,所以我想把它放到EE.SE,但是主要关注的是编程,所以我决定坚持在这里 . 我最近得到了一个很大的怀旧感(以及重新回到CPU内在函数),所以我决定自制一个8086微电脑板 . 当然,我熟悉x86程序集(在某种程度上,你会看到)并且我已经知道如何将我的代码放到计算机主板上,让我们来解决实际问题 . 为了获得通知,我正在使用NASM,尽管我还没有...
  • 2 votes
     answers
     views

    推到一个完整的堆栈8086组装

    PUSH对FULL堆栈的物理结果是什么惊人的当为堆栈分配2个字节[1个字]并且PUSH三个字然后将它们弹出到不同的寄存器中时,它完成没有任何错误当推送时我能说什么关于堆栈内容第二项 这是堆栈段定义: Stack_segment_name segment para stack db 2 dup(0) ;define your stack segment Stack_segment_name ends...
  • 1 votes
     answers
     views

    程序集8086-从堆栈中推送和弹出寄存器不起作用

    我是一个初学者,由于某种原因,推出和弹出堆栈对我来说不起作用 . 我的bootloader: org 0x7c00 bits 16 jmp main print: pop bx mov al, [bx] mov ah, 0eh int 10h ret main: mov bx, msg push bx call print ...
  • 1 votes
     answers
     views

    assembly x86使用stack的值作为指针?

    我想知道如何将指针参数传递给程序? 我必须创建具有2个参数的函数: 个单词数组 数组的大小 该函数获取数组的大小和列的总和 . 这就是我编码的内容: .MODEL Small .STACK 64 ; +===============================+ ; | DATA | ; +==================...
  • 0 votes
     answers
     views

    8086 ASM:Turbodebugger打开文本文件,正常执行没有

    我正在研究ASM任务的这个小问题 . 当我使用TD时,它就像一个魅力......由于我对大会很新,我真的找不到问题所在 . 我需要在屏幕上打印.txt文件中每个ASCII代码有多少个字符(多少个,多少个b,依此类推) . 我首先使用int 21h / 3dh打开文件来创建一个句柄,然后缓冲一些字节,处理它们,并缓冲下一部分,直到到达文件末尾 . 正如我所说,当我使用TurboDebugger运行它...
  • 3 votes
     answers
     views

    汇编语言中的多维数组

    嗨所有可以任何一个PLZ告诉我如何处理8086汇编语言中的2D阵列 . 我是汇编语言编程的初学者 . 谢谢
  • 3 votes
     answers
     views

    汇编程序通过问题

    我写的是我的8086汇编程序的问题 . 问题在于汇编程序传递 . 在第1遍期间,您可以计算每个标签相对于分段的位置 . 现在要做到这一点,必须计算每条指令的大小并将其添加到偏移量中 . 如果标签的位置在一个范围内,8086中的某些指令应该更小 . 例如,“jmp _label”会选择一个短跳,如果可能的话,如果它不能,它会接近跳跃 . 现在问题是在第1遍中标签尚未到达,因此它无法确定指令的大小,因...
  • 0 votes
     answers
     views

    程序集8086循环不起作用

    我有一个叫做的函数 call print_all 我想循环这个说10次 . mov bx,0 print_again: call print_all inc bx cmp bx,20 jl print_again 它不起作用 . 为什么不比较 . 怎么了 . mov al,0 set_1: complete_print[row_star+0],[col_star+0], star_char,...
  • 565 votes
     answers
     views

    LEA指令的目的是什么?

    对我来说,它看起来像一个时髦的MOV . 它的目的是什么,我什么时候应该使用它?
  • 3 votes
     answers
     views

    8086中的中断,指令指针和指令队列

    假设向8086发出外部中断请求 . 处理器将在完成当前正在执行的指令(如果有)后处理中断 . 在处理中断之前,通过将数据推入堆栈段,也将保存程序的状态(PSW标志,寄存器等) . 现在,大多数教程/文档都描述了指令指针也被压入堆栈段,这是可以的,因为它指向代码段中的下一个指令字节(就在发出中断请求之前) . 但是指令队列会发生什么?在处理中断请求时,它是否也被压入堆栈段?还是它的内容被清零?在这种...
  • 0 votes
     answers
     views

    乘以bx和cx [ASM 8086]

    我想将bx和cx相乘,但它不像我使用ax那样有效 mov ax,0AFh mov cx,0AFh mul cx 我尝试将bx和cx相乘 mov bx,Ah mov cx,5h mul cx "???????" 为了乘以bx和cx,我想我必须使用临时寄存器 . 任何人都可以告诉我该怎么做?
  • 0 votes
     answers
     views

    我正确使用源索引(si)吗?

    这是一堂课 . 本实验的目标是让用户输入M / N形式的一小部分,其中M <N并将扩展打印到6位小数 . 在阅读并运行了几次之后,似乎在进行算术运算时我没有得到数字 . 所以,我假设当我尝试访问它们时,我的源索引没有指向数字 . 我只想知道我的逻辑是否有偏差 . 代码列在下面并编译 . 我正在使用dosbox . ; get two numbers from user and d...
  • -4 votes
     answers
     views

    需要从MASM转换到NASM

    附加文件:文件dosbox_003.png(5.722 KB)编写一个NASM,它将: 在一行显示您的姓名 . (使用int 21h,函数9.回车和换行的字符分别为0Dh和0Ah . )在下一行,显示提示(再次使用int 21h,function9)并从键盘读取三个字符(使用int 21h,fcn 1.)将字符存储在适当标记的字节变量中 . 打印三个字符,每行一个(根据您的实现方式,使用int ...
  • 0 votes
     answers
     views

    在intel8086上打印十六进制分数

    我希望能够将十六进制数字打印为分数 . 让我们说.D ;This macro registers AH,AL READ MACRO MOV AH,8 INT 21H ENDM ;This macro registers AH,DL PRINT MACRO CHAR PUSH AX PUSH DX MOV DL,CHAR MOV AH,2 INT 21H POP DX PO...
  • -2 votes
     answers
     views

    为什么中断例程不停止?

    我正在尝试创建自定义中断...对于int 40h,int 42h,int 45h.i创建了向量设计但是在IRET指令调用之后它显示错误指令尚未定义...如何解决这个问题 . .. 我试图使用我迄今为止尝试的中断添加,减法,除法和乘法: code segment assume cs:code,ds:code org 1000h mov ax,0000h mov d...
  • -3 votes
     answers
     views

    我试图用汇编语言[暂停]找到最小数字

    汇编语言程序:我试图解决这个问题一段时间 . 我在8086微处理器的物理地址中注册了30值 . 我需要在那里找到最小数,如果有办法获取数组中的所有值?并将min转换为F“其温度值” . 转换已经解决,但找到min是问题 . 谢谢
  • 0 votes
     answers
     views

    在装配中对角打印数字

    我试图在装配中对角显示0-9,但是输出将我对角线打印的数字放在窗口的中间 . 这是代码: start: mov ah, 02h mov cl, 0Ah ;counter (10) mov dx, 02h ;mov bx, 02h mov dl, 30h ;start printing 0-9 mov dh, 02h ;start row mov al, 02h int 21h again: ...
  • 1 votes
     answers
     views

    在8086汇编中对字符串进行排序

    我想编写一个8086汇编程序,它从用户那里获取5个字符串作为输入,然后对这些字符串进行排序并将排序后的结果打印为输出 . 我实际上做了所有事情,但我对排序部分有很大的问题 . 我知道如何使用例如冒泡排序来排序从特定地址开始的数组中的项目,但在这里我有5个不同的字符串不在同一个数组中 . 每个字符串都有自己的地址和自己的字符 . 我尝试比较每个字符串的最后一个字符,然后如果一个更大,那么另一个我交换...
  • 0 votes
     answers
     views

    mov啊,01h int16h,如何用它来改变蛇的方向

    .model small .data var db '@', '$' delaytime db 10 total db 0 col db 40 row db 12 .stack 100h .code delay proc mov ah, 00 int 1Ah mov bx, dx jmp_delay: int 1Ah sub dx, bx cm...
  • 1 votes
     answers
     views

    Snake Assembly 8086:动作不正确

    .model small .data ;variables needed for snake body head db '@', '$' ;head and body symbols tail db ' ', '$' ;tail part set color to black snake_length db 3 ; 1-2 body 3 tail copy_snake_length db ...
  • -1 votes
     answers
     views

    印刷坐标组件8086

    说我必须生成20个随机坐标,20行和20列数 . .model small .data ;///////////////////// VARIABLES ;array of colors color db 01h,02h,03h,04h,05h,06h,0Ah, 0Bh, 0Ch,0Dh,0Eh, 0Fh ;12 colors. star_char db '*', '$' ;coordinat...

热门问题