我创建了一个非常简单的汇编程序,该程序在DOS中打印字母“ a”。我在十六进制编辑器中将其打开,结果是:
汇编代码:
mov ah, 2
mov dx, 'a'
int 21h
Run Code Online (Sandbox Code Playgroud)
十六进制代码
B4 02 B2 61 CD 21
Run Code Online (Sandbox Code Playgroud)
我想了解它是如何产生的!就像,我不知道我是否正确,但是我意识到:
B4 = mov ah
02 = 2
B2 = mov dx
61 = 'a'
CD = int
21h = 21
Run Code Online (Sandbox Code Playgroud)
的02,61而且21我明白了什么转身,但和B4,B2和CD?
我有一个byte array由单个索引索引的i。但是这个数组将在屏幕上显示为array of array(不是矩阵,因为并非所有行都具有相同的维度)。使用箭头键,我可以“浏览”“矩阵”的这些元素。所选元素将具有不同的背景颜色。为此,我将需要要突出显示的字节rows和columns。
因此,我需要有关公式的帮助来转换行和列的单个索引。
我已经为按键创建了逻辑,即当可以向某个方向移动时,只需要在屏幕上显示即可。
完整行的长度为 8 个字节。
在这种情况下,数组是:
unsigned char test[] = {0x00, 0x01, 0x02, 0x03, 0x61, 0x62, 0x63, 0x07, 0x21, 0x09, 0x0A};
Run Code Online (Sandbox Code Playgroud)
它会以这种方式出现:

我有一个练习,我需要按升序放4个数字,然后在不使用数组的情况下降序.我只能使用循环和if语句.我已经完成了3个数字,但现在有4个数字,我无法想到逻辑.
float great1 = 0, great2 = 0, great3 = 0, great4 = 0;
int a = 7, b = 5, c = 6, d = 0;
// Descending
if (a > b && b > c) {
great1 = a;
great2 = b;
great3 = c;
} else if (a > b && b < c) {
great1 = a;
great2 = c;
great3 = b;
} else if (b > a && a > c) { …Run Code Online (Sandbox Code Playgroud)