Сборка печатает неверный символ ascii

Я пытался создать простую программу на ассемблере, которая печатает символ ascii, двоичный код которого находится в rax. У меня есть следующий код:

section .data
   res db '', 0

global _start
_start:
    mov rbx, 1000001
    mov [res], rbx
    
    mov rax, 1
    mov rdi, 1
    mov rsi, res
    mov rdx, 1
    syscall


    mov rax, 60
    xor rdi, rdi
    syscall

Когда я выполняю, он выводит «A», что правильно, поскольку 1000001 — это двоичный код для ascii A, но если я выполню это:

section .data
   res db '', 0

global _start
_start:
    mov rbx, 1000010
    mov [res], rbx
    
    mov rax, 1
    mov rdi, 1
    mov rsi, res
    mov rdx, 1
    syscall


    mov rax, 60
    xor rdi, rdi
    syscall

Он выводит «J», но согласно таблице, которую я использовал, 1000010 должен выводить «B». Что делает это еще более странным для меня, так это то, что если я использую десятичное число вместо двоичного, я получаю правильный результат. Что я делаю, вонг?

Почти дубликат: Как представить шестнадцатеричное значение, такое как FFFFFFBB, в программировании на ассемблере x86? включает mov ax,1100_1000b и другой синтаксис, который NASM допускает для двоичных (с основанием 2) числовых констант. Конечно, вы должны просто mov ebx, 'B', если вы этого хотите.

Peter Cordes 23.12.2020 20:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

100000110 = F424116 и 4116 = 6510 = A ASCII

100001010 = F424A16 и 4A16 = 7410 = J ASCII

Другие вопросы по теме