• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak moge wyświetlić date w asmbler inline

+1 głos
656 wizyt
pytanie zadane 15 czerwca 2021 w Assembler przez pawel_000 Początkujący (450 p.)
zmienione kategorie 15 czerwca 2021 przez Arkadiusz Waluk
#include <stdio.h>
#include <stdlib.h>
int main(){

    short int a;
    asm(
        "mov $1, %%ah\n\t"
        "int $0x21\n\t"
        :"r"(a));
    printf("%i",a);
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 15 czerwca 2021 przez overcq Pasjonat (22,630 p.)
wybrane 15 czerwca 2021 przez pawel_000
 
Najlepsza

Do pobierania daty służy funkcja 2Ah, a nie 1h (czytaj klawisz). http://bogdro.evai.pl/dos/dos_int.htm

Wstawka asemblerowa pozwala zadeklarować użycie odpowiednich rejestrów bez potrzeby wpisywania instrukcji przypisania w kodzie asm.

struct date
{ unsigned year, month, day;
};

struct date
get_date( void
){  // ...
    asm(
    "\n" "int %2"
    : "=c" (year), "=d" ( month_day )
    : "i" (0x21), "a" (0x2a00)
    );
   // ...
}

Polecam zainstalować system DOS w maszynie wirtualnej i kompilator DJGPP z tej strony: http://www.delorie.com/djgpp/zip-picker.html, o ile jeszcze nie masz.

Natomiast co do tematu: w twoim przykładzie wyświetlasz datę w C, natomiast usiłujesz pobrać ją we wstawce asemblerowej.

Podobne pytania

+1 głos
2 odpowiedzi 776 wizyt
pytanie zadane 6 lutego 2018 w Assembler przez Paweł Piech Użytkownik (720 p.)
0 głosów
1 odpowiedź 1,075 wizyt
pytanie zadane 15 kwietnia 2024 w Assembler przez niezalogowany
0 głosów
0 odpowiedzi 188 wizyt
pytanie zadane 1 grudnia 2023 w Assembler przez hutsalo1998 Użytkownik (540 p.)

93,600 zapytań

142,524 odpowiedzi

322,993 komentarzy

63,085 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...