[Assembler] een string opslitsen?

Pagina: 1
Acties:

  • FoxMan
  • Registratie: September 2000
  • Laatst online: 14-09 12:06
Hallo iedereen, ik ben bezig met een opdrachtje voor school, het wil allemaal wel lukken, maar nu ben ik vastgelopen op het volgende. Ik wil graag een string opdelen zodat ik elke letter van die string appart neer kan zetten (om een string bijvoorbeel vertikaal neer te zetten in plaats van horizontaal), ik hoop dat jullie me kunnen helpen.

LinuxFox, because penguins aren't even furry


  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 22:50

Greyfox

MSX rulez

[off topic]
Het is toch Assembly...
[/off topic]

MSX 2 rulez more


Verwijderd

Op dinsdag 22 januari 2002 14:09 schreef FoxMan het volgende:
Hallo iedereen, ik ben bezig met een opdrachtje voor school, het wil allemaal wel lukken, maar nu ben ik vastgelopen op het volgende. Ik wil graag een string opdelen zodat ik elke letter van die string appart neer kan zetten (om een string bijvoorbeel vertikaal neer te zetten in plaats van horizontaal), ik hoop dat jullie me kunnen helpen.
Dan 'loop' je toch gewoon langs de array van karakters? D'r staat duidelijk bij dat het assembler is en zover ik weet heb je dan gewoon een array met karakters in je mem. waarlangs je kunt 'lopen'.

Beetje vaag overigens

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je kunt volgens mij het beste de geheugen-locatie van je String gebruiken in combinatie met een index-register die je gebruikt om de locatie in de string te bepalen.

* mbravenboer doet een poging een assembly vraag te beantwoorden ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • pbregman
  • Registratie: Oktober 2001
  • Laatst online: 22-05-2023

pbregman

>:)

shiften?

net zoals je char shift naar binair. maar dan ff aanpassen naar jouw situatie en ff vertalen naar Assembly, dit is voor Turbo C dat werkt praktisch hetzelfde.


byt = string die je wilt op splitsen
bit = die bevat steeds het ene teken wat jij wilt afbeelden
maak een for loop die de lengte heeft van je string
for (i = 0; i < 9; i++)
{
//Begin of bit:
bit = (byt << i & 0x01);
printf("%d", bit");
}

Hiermee kan je een char binair maken en dus ook lezen wat het was.

Misschien kan je er wat mee.

Specs


  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 28-11-2025

JayTaph

Portability is for canoes.

Makkelijk door een string banjeren:
code:
1
2
3
4
5
6
7
8
CX = lengte van de string
DS:SI = string offset

    cld      ; wel de goeie kant op gaan
loop1:
    lodsb      ;  doet: [ds:si]-->al, inc si
    call doe_wat_met_de_char_in_al
    loop loop1    ;  doet: dec cx, jnz loop1

viel wel mee..

Yo dawg, I heard you like posts so I posted below your post so you can post again.

Pagina: 1