123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- FUNCTION FC 1 : VOID
- TITLE = Check FC 21 with L as data source
- VAR_TEMP
- STR : STRING;
- END_VAR
- BEGIN
- // Check zero length (L-stack)
- L P##STR
- LAR1
- L 254
- T B [AR1, P#0.0]
- L 0
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := #STR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 0
- // Check 1 length (L-stack)
- L P##STR
- LAR1
- L 254
- T B [AR1, P#0.0]
- L 1
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := #STR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 1
- // Check full length (L-stack)
- L P##STR
- LAR1
- L 254
- T B [AR1, P#0.0]
- L 254
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := #STR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 254
- // Check length bigger than maxlen (L-stack)
- L P##STR
- LAR1
- L 10
- T B [AR1, P#0.0]
- L 100
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := #STR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 100
- END_FUNCTION
- FUNCTION FC 2 : VOID
- TITLE = Check FC 21 with DB as data source
- BEGIN
- // Check zero length (DB)
- AUF DB 2
- LAR1 P#DBX 0.0
- L 254
- T B [AR1, P#0.0]
- L 0
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := DB2.DBSTR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 0
- // Check 1 length (DB)
- AUF DB 2
- LAR1 P#DBX 0.0
- L 254
- T B [AR1, P#0.0]
- L 1
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := DB2.DBSTR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 1
- // Check full length (DB)
- AUF DB 2
- LAR1 P#DBX 0.0
- L 254
- T B [AR1, P#0.0]
- L 254
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := DB2.DBSTR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 254
- // Check length bigger than maxlen (DB)
- AUF DB 2
- LAR1 P#DBX 0.0
- L 10
- T B [AR1, P#0.0]
- L 100
- T B [AR1, P#1.0]
- LAR1 P#42.0
- LAR2 P#42.1
- AUF DB 1
- CALL "LEN" (
- S := DB2.DBSTR,
- RET_VAL := MW 0,
- )
- __ASSERT== __STW BIE, 1
- __ASSERT== __AR 1, P#42.0
- __ASSERT== __AR 2, P#42.1
- __ASSERT== DBNO, 1
- L MW 0
- __ASSERT== __ACCU 1, 100
- END_FUNCTION
- ORGANIZATION_BLOCK OB 1
- BEGIN
- CALL FC 1
- CALL FC 2
- CALL SFC 46 // Stop CPU
- END_ORGANIZATION_BLOCK
- DATA_BLOCK DB 1
- STRUCT
- TMP : INT;
- END_STRUCT;
- BEGIN
- END_DATA_BLOCK
- DATA_BLOCK DB 2
- STRUCT
- DBSTR : STRING;
- END_STRUCT;
- BEGIN
- END_DATA_BLOCK
|