如何使用8086汇编语言将数据值直接写入显存并在屏幕上显示汉字?

发布于 科技 2024-04-27
13个回答
  1. 匿名用户2024-01-28

    只需将像素写入视频内存即可。

    像素用于构成汉字。

  2. 匿名用户2024-01-27

    编译是很少有人使用的东西。。

  3. 匿名用户2024-01-26

    不,这就像你把数据写到电脑内存里,如果你不通过专用程序查看内存中的数据,你就看不到内存里有什么,同样,你把数据写到显卡上,比如写一个DDS贴纸,如果你不用程序调用来查看DDS地图, 他只会老老实实留在记忆中,只有当你打电话给他并命令他将其输出到显示器上时,你才能看到它。

  4. 匿名用户2024-01-25

    视频内存,屏幕,两者是同步的。

    填满视频内存后,当场就会显示在屏幕上。

    当您使用 d 查看它时,屏幕的内容会发生变化,内存也会发生变化。

    此时,您在视频内存中看到的内容不是您填充的内容。

  5. 匿名用户2024-01-24

    最好在纯 DOS 环境中进行实验。

    让我们安装一个虚拟机。

  6. 匿名用户2024-01-23

    此内存可由其他程序使用。

  7. 匿名用户2024-01-22

    在屏幕上,“这是黑色控制台,您可以在其中输入带有调试的数据。

  8. 匿名用户2024-01-21

    如果是 8086 汇编,调用 dos interrupt 就可以了,int 21h,ah=0a 时输入,ah=09 时输出。

    例如:assume cs:code, ds:datadata segment

    buffer db 256, 00

    buf_con db 256 dup(0), '$'

    data ends

    code segment

    start:

    mov ax, data

    mov ds, ax

    mov dx, buffer

    mov ah, 0a

    int 21h

    mov dx, buf_con

    mov ah, 09

    int 21h

    mov ax, 4c00h

    int 21h

    code ends

    end start

    汇编语言的科学定义实际上是一种介于机器代码(各种 01)和高级语言(如 c)之间的语言。 如果你用C语言写一个程序,其实如果你想在机器上运行它,机器不理解,它必须由编译器和汇编器编译,成为一个汇编,最后成为一个机器代码,机器可以控制硬件电路,按照这些机器码的01完成你想执行的操作。

  9. 匿名用户2024-01-20

    每个IC都有自己的汇编语句,你要看信息!

  10. 匿名用户2024-01-19

    1. 首先,使用中断 10 显示计算器的图形界面, 2.调用键盘读数功能,读取相关数字并匹配。

    3.将输入状态分为第一数数据、算子、第二数据、操作数、显示数、数进程4或直接输入,然后利用双数据算法对输入表达式进行分析,并计算结果5显示。

  11. 匿名用户2024-01-18

    22 个低地址。

    33 个高地址。

    每个DW的高地址存储高级数据,低地址存储低位数据。

    8086 程序集中的数据存储在数据段中,所有数据段都从低地址到高地址。 您可以使用 [num+2] 直接访问 3344h。

    不同的是,Windows的堆栈内存是从高地址存储到低地址的。

  12. 匿名用户2024-01-17

    数据存储在内存中的原理是低位在前,高位在后,所以:

    内存中 num dw 1122h、3344h、5566h、7788h,顺序如下:

    22h,11h,44h,33h,66h,55h,88h,77h

  13. 匿名用户2024-01-16

    data segment

    msg0 db 13, 10, 'this program can display ascii.$'

    msg1 db 13, 10, 'press any key...', 13, 10, '$'

    msg2 db 13, 10, 'the ascii of this letter is $'

    data ends

    code segment

    assume cs:code, ds:data

    start:

    mov ax, data

    mov ds, ax

    mov dx, offset msg0

    mov ah, 9 ;调用函数编号 9,并显示提示。

    int 21h ;显示。

    lop:mov dx, offset msg1

    mov ah, 9 ;调用函数编号 9,并显示提示。

    int 21h ;显示。

    mov ah, 1 ;调用、键入、显示函数 1。

    int 21h ;

    cmp al, 13

    jz exit ;输入,它就结束了。

    push ax

    mov dx, offset msg2

    mov ah, 9 ;调用函数编号 9,并显示提示。

    int 21h

    pop ax

    call chanum ;调用显示程序。

    jmp lop

    exit:mov ah, 4ch

    int 21h

    chanum: ;将显示 AL 中的 ASCII 代码。

    mov ah, 0 ;两位十六进制数如下所示。

    mov bl, 16

    div bl

    push ax

    mov dl, al

    add dl, '0'

    cmp dl, 3ah

    jb h1add dl, 7

    h1:mov ah, 2

    int 21h

    pop ax

    mov dl, ah

    add dl, '0'

    cmp dl, 3ah

    jb h2add dl, 7

    h2:mov ah, 2

    int 21h

    mov dl, 'h' ;H.显示

    int 21h

    mov dl, '.'

    int 21h

    ret;--

    code ends

    end start

相关回答
18个回答2024-04-27

我也有 0 个基本编程。

从王爽老师的《汇编语言》一书开始,通俗易懂,如果不是这本书,也许我早就放弃学习编程了,学完这个看了谭浩强的《C语言编程》,只看前几章,以win32汇编为基础,Windows下的汇编和C很像, 再学习罗云斌的《Windows环境下的32位汇编语言编程》,学完这本书就上手了。 >>>More

6个回答2024-04-27

查看 IBM PC Assembly Language Programming(第 5 版)。

14个回答2024-04-27

1.如果数据段未结束,请添加 dseg ends2声明数据时,db后面应该有空格,你不是自由的。 >>>More

14个回答2024-04-27

。。。这个需求是写这么长的**吗?

10个回答2024-04-27

将地址为 10000h 100ffh 的存储单元视为一个段。 >>>More