gpt4 book ai didi

assembly 控制台模式一字符

转载 作者:行者123 更新时间:2023-12-02 21:40:59 26 4
gpt4 key购买 nike

您好,我是论坛上的初学者,我开始了很短的时间进行汇编编程,但我仍然是初学者,想回答一些问题。

1-并且可以放置背景图片吗?2-是否可以用图像自定义光标指针?3-MS-DOS。 com 文件,. exe 程序在汇编系统中运行?

<小时/>

嗯,我的目标是创建一个系统提示符,但我是汇编初学者,我正在学习如何混合两个代码来生成我需要的内容,但不明白为什么当我只输入 1 个字符时,因为我有尝试了几种方法如何使用 JMP 或 M Udar 的指令和寄存器。如果有人知道帮助我,我非常感谢。

我的代码:

   DATA SEGMENT
MESSAGE DB "PROMPT>","$"
COMMAND DB ?
ENDS

CODE SEGMENT

START:

ASSUME DS:DATA CS:CODE

;:::::::BACKGROUND (COLOR"S/IMAGES):::::::::
MOV AH,00h ; Set video mode
MOV AL,000h ; Mode 3 (Color text)
INT 10H
MOV AX, 0600h ; AH=06(scroll up window), AL=00(entire window)
MOV BH,10000100b ; left nibble for background (blue), right nibble for foreground (light gray)
MOV CX, 0000h ; CH=00(top), CL=00(left)
MOV DH, 50 ; DH=19(bottom), DL=50(right)
MOV DL , 50
INT 10h
;:::::END BACKGROUND:::::::::::::::::::::::




;:::::::POMPT:::::::::::
MOV AX,DATA
MOV DS,AX
LEA DX,MESSAGE
MOV AH,9
INT 21H
MOV AH,1
INT 21H
MOV COMMAND,AH
MOV AH,4CH
INT 21H
ENDS
END START
;:::::END PROMPT:::::::

最佳答案

让我们纠正一些问题:

MOV AH,00h      ; Set video mode
MOV AL,000h ; Mode 3 (Color text)
INT 10H

注释说视频模式 3 有 80 列和 25 行,但代码要求视频模式 0 只有 40 列和 25 行。

mov ax, 0003h
int 10h
<小时/>
MOV AX, 0600h        ; AH=06(scroll up window), AL=00(entire window)
MOV BH,10000100b ; left nibble for background (blue), right nibble for foreground (light gray)
MOV CX, 0000h ; CH=00(top), CL=00(left)
MOV DH, 50 ; DH=19(bottom), DL=50(right)
MOV DL , 50
INT 10h

在 80x25 屏幕上,右下角位于 (79,24)。因此您需要设置 DL=79DH=24
持有 1000b 的“左半字节”并不代表蓝色。该位模式对应于深灰色。如果您想要蓝色背景,则需要在 BH高半字节中指定 0001b(位 4-7)。
另外,包含 0100b 的“右半字节”并不代表浅灰色。该位模式对应于红色。如果您想要白色字符颜色,则需要在 BH低半字节中指定 0111b(位 0-3)。

mov ax, 0600h
mov bh, 00010111b ;White (= light gray) on blue background
xor cx, cx ;(0,0)
mov dx, 184Fh ;(79,24)
int 10h
<小时/>
MOV AH,1
INT 21H
MOV COMMAND,AH

DOS RetrieveCharacter 函数返回AL 中的字符。您错误地从 AH 复制。

mov ah, 01h
int 21h
mov COMMAND, al
<小时/>

1-and possible to put background images?? 2-Is it possible to customize the pointer of the cursor with a image? 3-MS-DOS. com files,. exe programs run in an assembly-made system?

  1. 在文本视频屏幕上,您可以放置​​背景图像,但它不会像照片一样真实,因为像素太少。
  2. 如果您愿意管理自己的“光标”并为其重新定义一种字符形状。对于初学者来说有很多工作...
  3. 为什么不呢?您使用的编程语言或系统开发人员使用的编程语言对于运行可执行文件并不重要。

关于 assembly 控制台模式一字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51737681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com