Krmiljenje mostičnega dvigala je izvedeno preko znakovnega niza, zaključenega z \0 (tipka Enter). Sam ukaz je sestavljen kot:
N<1-16> (tovor v skladišče), V<1-16> (tovor iz skladišča).
Količina tovora je iz začetne omejitve na polje 4×4 (16 možnih mest) razširjena na 255 mest oz. število tovora 1 do 255. Ker je logistika krmiljenja snovana tako, da iz vnešenega ukaza program razbere, ali gre za natovarjanje ali raztovarjanje ter številko tovora, je potrebno iz danega niza izluščiti potrebne informacije za izvedbo ukaza in nepredznačeno 16-bitno število kot številka tovora s pomočjo podprograma. Rutina je poimenovana S2I [string to integer]. Na sprejeti niz postavimo kazalec X, ki kaže na prvi znak, na katerem se prične pretvorba. Podprogram S2I dopušča na prvem mestu predznak, sicer pa sprejema izključno samo števila. Ob pretvorbi upošteva vsa števila do prvega znaka, ki ni število; tako lahko pride do prikoračitve obsega predznačenih oz. nepredznačenih 16-bitnih števil, kar nam sporoči zastavica prenosa [carry] C, ki se ob prekoračitvi postavi C=1, ob pravilni pretvorbi pa C=0. Nepravilno pretvorbo lahko prepoznamo tudi zaradi nespremenjene lege indeksnega registra (lega je nespremenjena, ker niz ni vseboval števil ali C=1). Ob koncu pretvorbe se v akumulatorju D nahaja razbrana vrednost. Dana rutina S2I potrebuje pri pretvorbi iz poljubnega niza v desetiški sistem 16-bitno množenje s konstanto 10. Potrebni podprogram je opisan v podpoglavju Aritmetični podprogram. Ob koncu množenja vrne produkt v akumulatorju D in postavi zastavico C=0 ob pravilnem neprekoračenem rezultatu množenja.
Komunikacijski parametri podprogramov MUL10 in S2I
;_______________________________ CONVERT STRING TO INTEGER (~<=695) __________________ ; Convert characters in null-terminated string variable at X to an signed or ; unsigned 16bit integer in D. In case of conversion overflow C is set and D ; is undefined. In any case, X points to the last NOT converted character ; in the string! ;---------------------------------------------------------------------------------------- S2I pshx ;4 Potisne kazalec X niza na prvo mesto pretvorbe, clra ;2 izbriše bodoče mesto za pretvarjanje znakov psha ;3 in psha ;3 potisne A psha ;3 še psha ;3 štirikrat, nato ldaa 0,X ;4 naloži 1. znak psha ;3 in ga potisne na sklad inx ;3 ter ga poveča; eora #"-" ;2 primerja 1. znak z "-" (preverba predznaka neg.) ter beq S2I1 ;3 če je enak, skoči na S2I1, sicer eora #"+" ;2 primerja znak z "+" (preverba predznaka poz.) ter beq S2I1 ;3 in če je enak, skoči na S2I1, sicer dex ;3 pomakne kazalec niza nazaj. S2I1 ldaa 0,X ;4 Naloži znak niza, pshx ;4 pomakne kazalec niza in tsx ;3 kazalec sklada na X, suba #"0" ;2 odšteje konstantno vrednost 0 od AKU A (A=A-0), bcs S2I2 ;3 če je vrednost v AKU A<0, skoči na S2I2, sicer cmpa #10 ;2 primerja vrednost v AKU A z 10 in bcc S2I2 ;3 če je vrednost v AKU A>=10, skoči na S2I2, sicer staa 4,X ;4 spravi binarni digit. ldd 5,X ;5 Naloži binarno število, jsr MUL10 ;6+52 kliče rutino MUL10 (zmnoži z 10) bcs S2I4 ;3 in skoči na S2I4 v primeru preliva, sicer addd 3,X ;6 prišteje binarni digit binarnemu številu in bcs S2I4 ;3 skoči navzdol v primeru preliva ali std 5,X ;5 obnovi binarno število. pulx ;5 Potegne kazalec niza iz sklada in inx ;3 ga poveča ter bra S2I1 ;3 skoči nazaj na začetek pretvorbe S2I1. S2I2 ldaa 2,X ;4 Naloži 1. znak niza eora #"-" ;2 in ga primerja z "-" (preverba predznaka neg.) bne S2I3 ;3 ter skoči na S2I3, če je različen, sicer clra ;2 sprazni D clrb ;2 za 2. komplement. subd 5,X ;6 Odšteje binarno število std 5,X ;5 in shrani novo vrednost. bpl S2I4 ;3 V primeru, da je število pozitivno, skoči na S2I4, sicer S2I3 clc ;2 zbriše zastavico carry (do preliva ni prišlo). ldd 0,X ;5 Naloži trenutni kazalec niza std 7,X ;5 in ga shrani kot prvotni kazalec na niz. S2I4 pulx ;5 Dummy pull pulx ;5 lokacij pula ;4 s sklada. pula ;4 Potegne rezultat iz AKU A in B pulb ;4 v D. pulx ;5 V X se nahaja zadnji nepretvorjen znak. rts ;5 RETURN(D,X,C)